首页 > 其他 > 详细

递归实现

时间:2021-04-25 18:45:11      阅读:15      评论:0      收藏:0      [点我收藏+]

递归实现任意整数转换为字符串

include <stdio.h>

void convert(int n)
{
int i;

if ((i = n / 10) != 0)
{                     
    convert(i); //i是余数
}
putchar(n % 10 + ‘0‘);//+‘0’操作就是把整数转换为字符串

}

int main()
{
int number;

printf("\n输入整数:");
scanf("%d", &number);
printf("\n输出是:");
if (number < 0)
{                     
    putchar(‘-‘);
    number = -number;
}
convert(number);

return 0;

}

注意

递归实现输出斐波拉契数列和递归调用次数

include <stdio.h>

long Fib(int a);
int count; /全局变量count用于累计递归函数被调用的次数,自动初始化为0/
int main()
{
int n, i, x;
printf("Input n:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
count = 0; /* 计算下一项Fibonacci数列时将计数器count清零 /
x = Fib(i);
printf("Fib(%d)=%d, count=%d\n", i, x, count);
}
return 0;
}
/
函数功能:用递归法计算Fibonacci数列中的第n项的值 /
long Fib(int n)
{
long f;
count++; /
累计递归函数被调用的次数,记录于全局变量count中 */
if (n == 0) f = 0;
else if (n == 1) f = 1;
else f = Fib(n - 1) + Fib(n - 2);
return f;
}

递归实现

原文:https://www.cnblogs.com/zhou-huilin/p/14700596.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!