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

作者&投稿:鞠爽 (若有异议请与网页底部的电邮联系)
用C语言编程 斐波那契数列:1,1,2,3,5,8,13…,输出前13项,每行输出5个数。~

public class FeiBoMethod {
// 使用递归方法
private static int getSum(int num) {
if (num== 1 || num== 2)
return 1;
else
return getSum(num- 1) + getFibo(num- 2);
}
public static void main(String[] args) {
System.out.println("斐波那契数列的前13项为:");
for (int i = 1; i <= 13; i++) {
System.out.print(getSum(i) + "");
if (i % 5 == 0)
System.out.println();
}
}
}

扩展资料:使用数组的方式实现
publicclassFeiBoMethod{
//定义数组方法
publicstaticvoidmain(String[]args){
intarr[]=newint[13];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];

System.out.println("斐波那契数列的前13项如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+"\t");



代码如下:
int a[20]={1,1};
printf(“%d%d”,a[0],a[1]);
for(int i=0;i<20;i++)
{
printf(“%d”,a[i]=a[i-1]+a[i-2]);
}

扩展资料:
如何掌握C语言基础知识及技巧:
首先准备一台PC,学编程一般对PC没有太大的要求,一般主流的配置就好。
有了电脑之后,就得考虑安装什么操作系统了,主流使用的操作系统是windows,不过在这里不建议学习C编程使用windows,建议使用Linux。所以学习者最好安装双系统,或者彻底习惯Linux系统。
不管学习哪门编程语言,都建议学习者必须有一本关于此语言的全面知识的书籍,大一般采用的是谭浩强老师的《C语言程序设计》,还有 《C语言C++学习指南》从入门到精通(语法篇)视频课程在线学习等,建议学习者可以去仔细研读

C语言源程序如下:

#include<stdio.h>

int main()

{

int array[100]={1,1};//斐波那契数列前两个元素均为0

int i=0;//循环变量

int n=20;//数列需要求的个数

int sum = 0;//和变量

for(i=2;i<n+1;i++)//按递推原理依次求出后续元素

{

array[i]=array[i-1]+array[i-2];//数列原理

}

printf("arr[1]-arr[%d] = ", n);//提示输出数列元素

for (i = 0; i < n; i++)//遍历数列

{

printf("%d ",array[i]);//输出arr[1]-arr[n]元素内容

sum += array[i];//顺便进行求和

}

printf("
%d ", sum);//输出求和结果

return 0;

}

程序运行结果如下:


扩展资料:

利用递归原理进行求斐波那契数列的求解和求前n项和:

#include<stdio.h>

int fibonacci(int n) //递归函数


if (n == 0 || n == 1)  

return 1;    

if (n > 1)        

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


int main() 


int i = 0;    

for (i = 0; i < 30; i++) 


printf("fibonacci(%d) = %d
", i, fibonacci(i)); 

}    

return 0; 

}



#include<stdio.h>

int main()

{int a[20],n,i,s=2;

 a[0]=a[1]=1;

 printf("1 1 ");

 for(i=2;i<20;i++)

 {a[i]=a[i-1]+a[i-2];

  s+=a[i];

  printf("%d ",a[i]);

 }

 printf("
sum=%d
",s);

 return 0;

}



#include<stdio.h>
int fib(int n);
int main(void)
{
    int sum=0;
    for(int i=1;i<=20;i++)
    {
        if(i%11==0)
            printf("
");
        printf("%5d",fib(i));
        sum+=fib(i);
    }
    printf("
前20项之和为:%d
",sum);
}
int fib(int n)
{
    if(n<3)
    return 1;
    else
    return fib(n-1)+fib(n-2);
}




C语言函数编程实现计算10个数的最大值,要求如下:
include <stdio.h>#include <conio.h>void array_input (int array[], int n);int max (int array[], int n);int main (void) {int array[10];printf ("请输入10个数据:");array_input (array, 10);printf ("10个元素最大值:%d\\n", max (array, 10));getch (); \/*屏幕暂...

请用C语言自定义函数的形式编程实现求10名学生1门课程成绩的平均分...
include <stdio.h> float ave(float *a, int n){ float r=0;int i;for(i = 0; i < n; i ++)r+=n;return r\/n;} int main(){ float a[10];int i;for(i = 0; i < 10; i ++)scanf("%f",a+i);printf("%f\\n", ave(a,10));return 0;} ...

C语言编程: 编写一个程序,根据下列公式,实现根据输入的x值,求出y的值...
这题就是定义一个独立函数,参数为n和x,根据n的值,判断并选择多项式中的一个式子来计算y的值。计算结果和x的值可直接在函数中打印,也可放数组做返回值返回,在主函数中接收并打印输出。下面代码是带返回值的写法:include <stdio.h> int* funP(int n,int x);int main(){ int *rn=NULL,...

C语言编程:从键盘任意输入三个数,编写求其最大值、最小值的函数,用指针...
程序如下:#include<stdio.h>#define MAXSIZE 10main(){int a[MAXSIZE];int k;printf("please inter ten number:");for(k=0;k<MAXSIZE;k++){ scanf("%d",&a[k]);} Fun(a);for(k=0;k<MAXSIZE;k++)printf("%d,",a[k]);} void Fun(int a[]){ int i;int temp;int Max...

试用C语言编程实现以下功能:求出表达式1-2+3-4+5-...-100的结果。_百度...
include<stdio.h> void main(){ int i,s=0;for(i=1;i<=100;i++){ if(i%2==0)s-=i;else s+=i;} printf("1-2+3-4+5-...-100=%d\\n",s);}

C语言编程:给一个不多于3位的正整数,要求编程实现(1)求它是几位数?(2...
include <stdio.h>#include <stdlib.h>int main(){ int a[3]={0,0,0}; int n,i=0,j; printf("Please Input a number:"); scanf("%d",&n); while(n) { a[i++]=n%10; n\/=10; } printf("This number has %d digit(s).\\n",i); prin...

c语言编程,求abc三个数的最大值
1、首先是鼠标选择单击C语言编程软件创建一个空的C语言文件。2、定义四个整数变量a,b,c,max。三个变量a,b和c用于存储输入的三个数字,max用于存储三个数字的最大值。3、使用scanf语句从键盘输入三个数字。在注意之前不要忘记使用变量。4、使用max可以逐个比较三个数字,并将最大数量存储在最大...

用C语言编程 下面程序实现功能是:求1到1000满足条件“用3除余2,用5...
include <stdio.h> int main(){ int i,j=0;for(i=1;i<=1000;i++){ if(i%3==2&&i%5==3&&i%7==2){ printf("%d ",i);j++;if (j%5==0){printf("\\n");} } } return 0;}

c语言 编程求10~30之间的所有奇数的平均值。
思路:定义两个变量分别存储累计和以及奇数个数,for循环从10到30依次判断是否是奇数,如果是累加,奇数个数加1,最后计算平均值。参考代码:include <stdio.h>int main(){ int i,sum=0,num=0;for(i=20;i<=30;i++)if(i%2==1){sum+=i;num++;} printf("%.2f\\n",1.0*sum\/...

c语言编程:求222~333之间的三位数,求其个位十位百位之积,隔6个数换行...
include <stdio.h> int main() { int i, j, k, num, product;for (num = 222; num <= 333; num++) { i = num % 10; \/\/ 个位 j = (num \/ 10) % 10; \/\/ 十位 k = num \/ 100; \/\/ 百位 product = i * j * k; \/\/ 三位数各位数之积 printf("%d ", product);i...

阿鲁科尔沁旗13258736267: 用C语言程序计算斐波那契数列 -
盈叛迭力: #include <stdio.h> void main() { int i,fib[21]={0,1}; for (i=2; i<21; i++) { fib[i]=fib[i-2]+fib[i-1]; } for (i = 0; i<21; i++) { printf("%d ",fib[i]); } }

阿鲁科尔沁旗13258736267: 关于斐波那契数列的c语言编程 -
盈叛迭力: #include"stdio.h" int fib(int n) {if(n<=2)return 1; return fib(n-1)+fib(n-2); } int main() {int a,b,s=0,i; scanf("%d%d",&a,&b); for(i=a;i<=b;i++)s+=fib(i); printf("sum=%d\n",s); }

阿鲁科尔沁旗13258736267: c语言编程 生成斐波那契数列并输出 -
盈叛迭力: #include <stdio.h>int main() { int a[10]={1,1}; int i,n=16; printf("1 1"); for(i=2;i<n;i++) { a[i]=a[i-1]+a[i-2]; printf(" %d",a[i]); } retrun 0; }

阿鲁科尔沁旗13258736267: C语言 斐波那契数列怎么写 -
盈叛迭力: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39#include<stdio.h> intfei(intindex) //数组实现 {if(index<1){return-1;}if(index<3){return1;}int*a=newint[index];a[0]=a[1]=1;for(...

阿鲁科尔沁旗13258736267: C语言:斐波那契数列.
盈叛迭力: #include &lt;stdio.h&gt; int fibo(int); main() { int i; for(i=1;i&lt;=30;i++) { printf("%d\t",fibo(i)); if(i%5==0) printf("\n"); } } int fibo(int n) { if(n==1 || n==2) { return 1; } else { return fibo(n-1)+fibo(n-2); } }

阿鲁科尔沁旗13258736267: c语言简单问题斐波那契数列 -
盈叛迭力: #include void main(){ long f1,f2; int i,j; f1=f2=1; for(i=1;i<=20;i+printf(...

阿鲁科尔沁旗13258736267: C语言算斐波那契数列 -
盈叛迭力: 100项数据太大了,估计都超过了double能表示的范围.你要这样的话,你只有自己用2个数组来模拟正整数相加了.int a[200] int b[200] 从后面往前面开始模拟逢十进一 .以前数据结构有做过类似的小程序的,这样就不怕数据位数不够用了!

阿鲁科尔沁旗13258736267: c语言编程斐波那契数列 -
盈叛迭力: #include int main(){ int i; long a[41]; a[0]=1,a[1]=1;for(i=2;i<=40;i++)a[i]=a[i-1]+a[i-2];for(i=0;i<=40;i++)printf("%ld ",a[i]);printf("...

阿鲁科尔沁旗13258736267: 斐波那契数列 c语言
盈叛迭力: #include <stdio.h> int fn(int a) { if (a==1) return 1; else { if (a==2) return 2; else return fn(a-1)+fn(a-2); } } void main () { int i; FILE *fp; fp=fopen("e:\\jieguo.txt","w"); // 保存的路径,可以该. for (i=1;i<=50;i++) fprintf(fp,"%d:%d\n",i,fn(i)); fclose(fp); } 注意: 程序运行的有点慢,要等一会儿, 你可以把 50改成 10 ,就能看见运行的结果了 在E盘的jieguo.txt中.

阿鲁科尔沁旗13258736267: C语言程序实现斐波那契数列的解题思路??? -
盈叛迭力: 斐波纳契数第三项起:每一项都是前两项之和!这里可以用递归或者循环的方法!楼上的给了递归的代码! 我写一个模板递归的方法(速度更快,无需执行任何函数和循环,但是实用性低) 代码用于计算第十项的斐波纳契数和前十项和:#...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网