c语言数组编程,斐波那契数列的第1,2项均为1,其后各项为前两项之和,输出前10项,每5项换一行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言数组编程,斐波那契数列的第1,2项均为1,其后各项为前两项之和,输出前10项,每5项换一行相关的知识,希望对你有一定的参考价值。
参考技术A #include <stdio.h>void main()
int i;
int a[10];
a[0]=a[1]=1;
for(i=2;i<10;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<10;i+=5)
printf("%d %d %d %d %d\n",a[i],a[i+1],a[i+2],a[i+3],a[i+4]);
本回答被提问者采纳 参考技术B #include <stdio.h>
int main()
int a[10];
for (int i = 0; i < 10; i ++)
a[i] = (i < 2)?1:a[i-1]+a[i-2];
printf("%d ", a[i]);
if (i % 5 == 4)
printf("\n");
return 0;
c语言编写计算斐波那契(Fibonacci)
数列的第n项函数fib(n)(n<40)。
数列:
f1=f2==1;
fn=fn-1+fn-2(n>=3)。
输入
输入整数n的值。
输出
输出fib(n)的值。
示例输入
7
示例输出
13
这是我做的。。。用了函数调用 不知道哪里错了
#include<stdio.h>
int fib(int n,int f)
if(n==1&&n==2)
f=1;
else
f=fib(n-1,f)+fib(n-2,f);
return f;
int main()
int n,f;
f=fib(n,f);
printf("%d",f);
return 0;
/*你的程序*/
#include<stdio.h>
int fib(int n,int f)
if(n==1&&n==2) /*n不可能同时等于1和2,所以递归无终点,会一直递归下去。*/
f=1; /*正确的斐波那契数列是n==1时f=0,n==2时f=1*/
else
f=fib(n-1,f)+fib(n-2,f);
return f;
int main()
int n,f; /*n没有赋初始值*/
f=fib(n,f);
printf("%d",f);
return 0;
/*改正后的程序*/
#include<stdio.h>
int fib(int n,int f)
if(n==1)
f=0;
else if(n==2)
f=1;
else
f=fib(n-1,f)+fib(n-2,f);
return f;
int main()
int n,f;
scanf("%d,%d",&n,&f);
f=fib(n,f);
printf("%d",f);
return 0;
参考技术A if(n==1&&n==2)
这块啊,应该是
if(n==1||n==2)一个成立就行
其他的我没看
以上是关于c语言数组编程,斐波那契数列的第1,2项均为1,其后各项为前两项之和,输出前10项,每5项换一行的主要内容,如果未能解决你的问题,请参考以下文章
c语言,编程实现,求斐波那契数列,1,1,2,3,5,8,......的前20项及前20项和