c语言编程输出斐波那契数列前十项 帮个忙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程输出斐波那契数列前十项 帮个忙相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
void main()
 int a[10],i;
  a[0]=1;
  a[1]=1;
  printf("斐波那契数列前十项:\\n");
  for(i=2;i<10;i++)
    a[i]=a[i-1]+a[i-2];
  for(i=0;i<10;i++)
  
  printf("%d\\t",a[i]);
      if((i+1)%5==0) printf("\\n");
  

参考技术A //#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
int main(void)
    int a,b,i;
    printf("They are as follows:\\n");
    for(a=0,printf("%-4d",b=1),i=1;i<10;i++)
        printf("%-4d",b+=a);
        a=b-a;
    
    printf("\\n");
    return 0;

参考技术B void fibo(int n)

int i,count=2;
double x1,x2,x; x1=1; x2=1;
printf("%6.0f\t%6.0f\t",x1,x2);
for(i=1;i<=(n-2);i++)

x=x1+x2;
printf("%6.0f\t",x);
x1=x2;
x2=x;
count++;
if(count%10==0)
printf("\n");

printf("\n");

void main()

int n;
scanf("%d",&n);
fibo(n);
追问

对不对

追答

追问

哦哦

本回答被提问者采纳

斐波那契数列的C语言实现

斐波那契数列

经典数学问题之一;斐波那契数列,又称黄金分割数列,指的是这样一个数列:

  1、1、2、3、5、8、13、21、……

前两个数为1, 1,之后每个数都为为前面两个数的相加。

 

C语言实现:

输出斐波那契数列前n个数字:

1、普通算法

#include <stdio.h>
const int test2(void); int main(void) while(1) int flag = test2(); if(flag != 1) break; return 0; const int test2(void) int t1 = 1, t2 = 1, n, next, i; printf("How many:"); scanf("%d", &n); if(n <= 0) printf("Program Terminated!\\n"); return -1; for(i = 1; i <= n; i++) printf("%d ", t1); next = t1 + t2; t1 = t2; t2 = next; printf("\\n"); return 1;

2、递归实现

#include <stdio.h>

const int test3(const int);
const int test5(void);

int main(void)

    while(1)
        
        int flag = test5();
        if(flag != 1)    break;
    
    return 0;


/* 使用递归方式 */
const int test3(const int index)

    if(index == 1 || index == 2)    return 1;
    return (test3(index -1) + test3(index -2));


const int test5(void)

    int i, n;
    printf("How many:");
    scanf("%d", &n);
    
    if(n <= 0)
    
        printf("Program Terminated!\\n");
        return -1;
    
    
    for(i = 1; i <= n; i++)    
    
        printf("%d ", test4(i));
    
    printf("\\n");
    return 1;

运行结果:

用递归的方法实现此数列简洁,方便理解。但是我们仔细观察上面的代码,就会发现此函数中存在着大量的冗余计算,并且n越大,冗余的越多。

 

输出数列中小于等于Max的数字

#include <stdio.h>

const int test6(void);

int main(void)

    while(1)
        
        int flag = test6();
        if(flag != 1)    break;
    
    return 0;


const int test6(void)

    int t1  =1, t2 = 1, next, Max;
    
    printf("Max: ");
    scanf("%d", &Max);
    
    if(Max <= 0)
    
        printf("Program Terminated!\\n");
        return -1;
    
    
    while(t1 <= Max)
    
        printf("%d ", t1);
        next = t1 + t2;
        t1 = t2;
        t2 = next;
    
    printf("\\n");
    return 1;

运行结果:

 

 

新人才疏学浅,有错的地方敬请指正!!

本文来自博客园,作者:夏末终年,转载请注明出处:https://www.cnblogs.com/xiamozhongnian/p/15861331.html

 

 

以上是关于c语言编程输出斐波那契数列前十项 帮个忙的主要内容,如果未能解决你的问题,请参考以下文章

斐波那契数列题型ACing

递归求斐波那契数列

用递归和非递归的方法输出斐波那契数列的第n个元素(C语言实现)

斐波那契数列(C语言+java)

509-斐波那契数

509. 斐波那契数