用C语言求斐波拉数
请设计一个函数int Fi(int n),利用递归计算第n个斐波那契数,并在main函数中①输入一个整数;②调用函数Fi计算第n个斐波那契数;③打印输出结果。
输入输出效果参考如下格式:
10<回车>
第10个Fibonacci数是55
这是我写的:
#include <stdio.h>
#include <stdlib.h>
int Fi(int a){
if (a==1 || a==2)
return 1;
else
return Fi(a-1) + Fi(a-2);
}
int main(){
int a;int b;
printf("请输入一个整数:");
scanf("%d",&a);
b = Fi(a);
printf("第10个Fibonacci数是%d\n",b);
return 0;
}
问题就是在输入10的时候成功了 格式都正确 但是输入5或者其他数字时 仍然显示第10个数是...不知道是什么原因
我的问题是 应该有两个%d,以及它们对应的两个变量。大一新生 可我没有做到 求助大佬!!!!!
printf("第%d个Fibonacci数是%d\n",a,b);
这样? 楼上说的对。 经典的a,b变量名 printf("第10个Fibonacci数是%d\n",b);
这一句,printf中直接指定了输出第10个,你仔细看看。 printf("第%d个Fibonacci数是%d\n",a,b); (已经解决 谢谢 非常感谢) printf("第10个Fibonacci数是%d\n",b);改成printf("第%d个Fibonacci数是%d\n",b); 编程其实是最简单的!
你不知道为什么错,那你就把每行都下一个断点,然后一步一步跟踪程序,
这么个简单程序,我就不相信你看不出来错误原因!!!! 挺难的,学习
页:
[1]
2