请问在用递归法解决斐波那契数列问题时
如何控制循环的开始与终止
比如如下实例:
⑴ 编写函数fun,其返回值类型为整型,有1个整型参数n。
fun的功能为:使用递归方法计算斐波那契数列的第n项的值,并将其返回。
⑵ 编写主函数,其功能为:
首先,输出提示信息:“斐波那契数列第10~30项:”;
然后,在新的一行通过调用fun函数,来输出斐波那契数列第10项到第30项的值,每个数值输出域宽为8,每行最多输出5个数值。
修改for循环中的i的初始值和终止值,控制开始和结束
#include <stdio.h>
int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int i;
printf("斐波那契数列第10~30项:\n");
for (i = 10; i <= 30; i++) {
printf("%8d", fibonacci(i));
if (i % 5 == 0) {
printf("\n");
}
}
printf("\n");
return 0;
}