求这道C语言程序设计题怎么做?

求这道C语言程序设计题怎么做?输出斐波拉契数列前21项,并求和。刚学不久,很算法简单的那种。

#include <stdio.h>
void main()
{
int i,F[21]={1,1},n=2,sum=2;
printf("%-8d%-8d",F[0],F[1]);
for(i=2;i<21;i++)
{
F[i]=F[i-1]+F[i-2];
printf("%-8d",F[i]);
n++;
if(n%5==0) printf("\n");
sum+=F[i];
}
printf("\n\nsum=%d",sum);
}


运行结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-05

常规的程序


难?

递归算法

#include<stdio.h>
void main()
{
int Fibonacci(int n);
int n,i,c=0;
 
printf("请输入n的值:");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
c = Fibonacci(i);
printf("%12ld",c);
if(i%4==0) //用于换行 4个一行;
printf("\n");
}
}
 
int Fibonacci(int n)//函数部分;
{
long int f;
 
if(n==1 || n==2)
{
f=1;
}
else
if(n>=3)
f = Fibonacci(n-1) + Fibonacci(n-2);
return f;
}

相似回答