- 编写一个递归函数,实现将一个整数逆序转换成字符串。例如,输入345,应输出字符串“543”,其中整数的位数不确定
#include<stdio.h>
int f(int n)
{
if(n>0)
{
printf("%d",n%10);
return f(n/10);
}
return 0;
}
int main()
{
int num;
int result;
scanf("%d",&num);
f(num);
return 0;
}
- 编写程序求斐波那契数列的前40项之和,要求用递归函数实现计算斐波那契数列的第某项的值
#include<stdio.h>
int fbnq(int n)
{
if(n==1||n==2)
return 1;
else
return fbnq(n-1)+fbnq(n-2);
}
int main()
{
int a;
int r;
scanf("%d",&a);
r=fbnq(a);
printf("%d",r);
return 0;
}
- 利用递归算法求两个整数的最小公倍数
#include<stdio.h>
int gbs(int a,int b)
{
if(b>a)
gbs(b,a);
else
{
if(a%b==0)
return b;
else
return gbs(b,a%b);
}
}
int main()
{
int a,b;
int g,result;
scanf("%d%d",&a,&b);
g=gbs(a,b);
result=a*b/g;
printf("%d",result);
return 0;
}
- 输入一个正整数N,利用递归实现求N的阶乘
#include<stdio.h>
int jc(int n)
{
int f;
if(n<0)
printf("error");
else if(n==0||n==1)
f=1;
else
f=n*jc(n-1);
return f;
}
int main()
{
int n;
int y;
scanf("%d",&n);
y=jc(n);
printf("%d",y);
return 0;
}