例15:求Fibonacci数列的前30个数。这个数列有以下特点:第1,2两个数为1,1,。从第三个数开始,该数是其前两个数之和。(斐波那契不死神兔)
解题思路:从前两个月的兔子数可以推出第3个月的兔子数。设第1个月的兔子数f1=1,第2个月的兔子数为f2=1,第3个月的兔子数f3=f1+f2=2。
源代码演示:
#include<stdio.h>//头文件
int main()//主函数,程序的入口
{
int i,f1,f2,f3,row; //定义变量
f1=1,f2=1; //变量初始化
printf("输入需要输出的行数:");//提示语句
scanf("%d",&row); //键盘输入行数
printf("%dn%dn",f1,f2); //先输出第一行和第二行
for(i=1;i<row-1;i++) ///循环控制后row-2行
{
f3=f2+f1; //第3行的值是前面两行之和
printf("%dn",f3);
f1=f2; //变量赋值
f2=f3;
}
}
编译运行结果如下: