思路:先定义数组的前两项值,再依次对后面每项进行赋值,后面每项都是前两项的和。
例如:
#include
int main(){
int a[20],i;
a[0]=a[1]=1;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<20;i++){
printf("%4d ",a[i]);
if((i+1)%5==0)
printf("\n");
}
return 0;
}
/*
输出:
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765
*/
不知道你要的答案是不是这个
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include
#include "string.h"
int fun(int n)
{
if(n==0||n==1)
{
return 1;
}
else
{
return (fun(n - 1) + fun(n-2));
}
}
void main()
{
int num[20] = {0};
int i = 0;
for(i = 0;i < 20;i++)
{
num[i] = fun(i);
}
printf("打印斐波纳契数列:");
for(i = 0;i < 20;i++)
{
printf("%d ",num[i]);
}
}
1