第1个回答 推荐于2016-07-18
#include<stdio.h>
// 非递归求解,数列首项从0开始
long long fib2(long n)
{
long long a = 1,b = 1;
for(long i = 1;n > 0 && i < n; i++)
{
long long c = b;
b = a;
a = a+c;
}
return a;
}
int main()
{
long n;
printf("输入你想输出的数的个数:\n");
scanf("%ld",&n);
for(long i = 0; i < n ; i++)
printf("%ld\n",fib2(i));
return 0;
}本回答被提问者采纳
第2个回答 2008-12-17
main()
{
int f1=1,f2=1,i,n;
printf("\n input n:") ;
scanf("%d",&n);
printf("%d,%d,",f1,f2);
for(i=3;i<=n;i++)
{
f1=f1+f2;
f2=f2+f1;
printf("%d,%d,",f1,f2);
}
} 公式就是那个了
还有 用 数组的 更简单 例如
i=3
a[i]=a[i-2]+a[i-1]