c语言编程题(用一维数组二维数组的方法做) (1)用一堆数组计算Fibonacci数列的前20项。F
c语言编程题(用一维数组二维数组的方法做)(1)用一堆数组计算Fibonacci数列的前20项。Fibonacci数列为1123581321等,可表示为F(1)=1;F(...
c语言编程题(用一维数组二维数组的方法做)
(1)用一堆数组计算Fibonacci数列的前20项。Fibonacci数列为1 1 2 3 5 8 13 21等,可表示为F(1)=1;F(2)=1;F(n)=F(n-1)+F(n-2)其中n>2。
会做的别藏着了 展开
(1)用一堆数组计算Fibonacci数列的前20项。Fibonacci数列为1 1 2 3 5 8 13 21等,可表示为F(1)=1;F(2)=1;F(n)=F(n-1)+F(n-2)其中n>2。
会做的别藏着了 展开
3个回答
推荐于2017-09-11 · 知道合伙人教育行家
关注
展开全部
思路:先定义数组的前两项值,再依次对后面每项进行赋值,后面每项都是前两项的和。
例如:
#include <stdio.h>
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<conio.h>
#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]);
}
}
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include<conio.h>
#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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询