C程序求Fibonacci函数

来源:百度知道 编辑:UC知道 时间:2024/06/05 04:47:32
书上例题是这样写的,

//Fibonacci函数
#include<stdio.h>

int main(void)
{
int fib1=1,fib2=1,fib,i;
for (i=3;i<=12;i++);
{
fib=fib1+fib2;
fib1=fib2;
fib2=fib;
}
printf("The Fibonacci number after a year is:\n",fib);
getch();
return 0;
}
可是我自己运行总是只有一个
The Fibonacci number after a year is:
后面就没有了,为什么啊?我用的dev c++运行的
不对,刚才写错了,运行结果是等于2 ,这 是什么原因啊?

原程序有两个错误:
1. for() 语句后不应加分号,
2. 输出语句应放在循环体内
修改如下:

#include<stdio.h>

int main(void)
{
int fib1=1,fib2=1,fib,i;
printf("The Fibonacci number after a year is:\n");
for (i=3;i<=12;i++)
{
fib=fib1+fib2;
fib1=fib2;
fib2=fib;
printf( "%d ", fib);
}
getchar();
return 0;
}

printf("The Fibonacci number after a year is:%d\n",fib);

printf("The Fibonacci number after a year is:\n",fib);
//这句有问题啊,应该在is后面加%d

printf("The Fibonacci number after a year is:\n",fib);
改为
printf("The Fibonacci number after a year is:%d\n",fib);