用C语言编写斐波那契数列前10项(用简单的方法且只有两个变量)()非递归方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言编写斐波那契数列前10项(用简单的方法且只有两个变量)()非递归方法相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
void main()

int i,F[10]=1,1;
printf("%d %d ",F[0],F[1]);
for(i=2;i<10;i++)

F[i]=F[i-1]+F[i-2];
printf("%d ",F[i]);

运行结果:

只用了两个变量:整型变量i,一维数组变量F[10]

而且没有用递归的方法。

参考技术A 整个方法,仅两个变量,有点困难

~~~~~~~~~~~~~~~追问

就是这么要求的

c语言.计算斐波那契数列的前n项和(s),四种方法?

方法1 1个源程序文件,只使用主函数,用while语句完成程序设计任务
方法2 1个源程序文件,只使用主函数,用do-while语句完成程序设计任务。
方法3 1个源程序文件,只使用主函数,用for语句完成程序设计任务。
方法4 1个源程序文件,主函数在前,其它函数在后,完成程序设计任务。

方法2:

  

#include <stdlib.h>
#include <stdio.h>

int Fibon1(int n)

if (n == 1 || n == 2)

return 1;

else

return Fibon1(n - 1) + Fibon1(n - 2);

int main()

int n = 0;
int m=0;
int ret = 0;
printf("请输入要计算的斐波那契数列的前N项总数:");
scanf("%d", &n);
m=n;
do

ret += Fibon1(n);
n--;
while (n>0);

 printf("前%d项目和ret=%d", m,ret);
getchar();
getchar();
return 0;

运行结果:

方法4:

#include <stdlib.h>
#include <stdio.h>

int Fibon1(int n);

int main()

int n = 0;
int m=0;
int ret = 0;
printf("请输入要计算的斐波那契数列的前N项总数:");
scanf("%d", &n);
m=n;
do

ret += Fibon1(n);
n--;
while (n>0);

 printf("前%d项目和ret=%d", m,ret);
getchar();
getchar();
return 0;

int Fibon1(int n)

if (n == 1 || n == 2)

return 1;

else

return Fibon1(n - 1) + Fibon1(n - 2);


运行结果:

参考技术A 这里贴代码太长了,而且格式没法调整,可读性低。追问

给出两种方法就行,二和四就行

以上是关于用C语言编写斐波那契数列前10项(用简单的方法且只有两个变量)()非递归方法的主要内容,如果未能解决你的问题,请参考以下文章

c语言中,。编写程序求斐波那契数列的第n项和前n项之和。大家看好是【第】n项的值和前n项的合= =。

C语言 用调用函数和数组求斐波那契数列的前10项。 f[i]=F(f,i); 能这样用吗

,c语言:利用数组求斐波那契数列的前20项

c语言.计算斐波那契数列的前n项和(s),四种方法?

我想用递归写斐波那契数列,c语言

c语言,编程实现,求斐波那契数列,1,1,2,3,5,8,......的前20项及前20项和