1:递归写的斐波那契数列
//递归写的斐波那契数列
#include<stdio.h>
#include<stdlib.h>//使用system(pause)时必须调用这个头文件
int fibonacci(int n)
{
if(n<=2)
{
return 1;
}
else
{
return fibonacci(n-1)+fibonacci(n-2);
}
}
main()
{
int n,m;
printf("请输入你想要的斐波那契数列的第几个数字:\n");
scanf("%d",&n);
m=fibonacci(n);
printf("第%d个斐波那契数为%d\n",n,m);
system("pause");
}
//普通的斐波那契数列
#include<stdio.h>
main()
{
int a=1,b=1,c,i,n;
printf("你想斐波那契数列的第几个数:");
scanf("%d",&n);
if(n<=2)
c=1;
else
{
for(i=3;i<=n;i++)
{
c=a+b;
a=b;
b=c;
}
printf("斐波那契数列的第%d个数为%d\n",n,c);
}
}
2:
#include<stdio.h>
int main()
{
int a,b;
printf("请输入两个整数:");
scanf("%d,%d",&a,&b);
printf("最大公约数是%d",maxys(a,b));
return 0;
}
int maxys(int a,int b)
{
if(a==b)
return a;
else if(a>b)
maxys(a-b,b);
else
maxys(a,b-a);
}
3:
利用递归做的阶乘
#include<stdio.h>
int jc(int n)
{
if(n==1)
return 1;
else
return jc(n-1)*n;
}
main()
{
int n,i;
printf("你想求几的阶乘:");
scanf("%d",&n);
i=jc(n);
printf("%d",i);
}
4:
//利用递归方法打印输入数的每一位
#include<stdio.h>
int every(int number)
{
if(number>9)
{
every(number/10);}
printf("%2d",number%10);
}
int main()
{
int number;
printf("输入一个数字:\n");
scanf("%d",&number);
every(number);
printf("\n");
return 0;
}
转载:https://blog.csdn.net/weixin_55159605/article/details/115677227
查看评论