C语言 fib函數設計基礎題

 

可以在fib()函数中使用循环等方式来打印Fibonaccui数列的每一项,代码如下:


#include <stdio.h>

void fib(int n){
    
    int i;
    int first=1; // Fibonacci数列的第1int second=1; // Fibonacci数列的第2int num;
    
    if(n==1){ // 如果只需要输出Fibonacci数列的第1printf("%d",first);
    }else if(n==2){ // 如果只需要输出Fibonacci数列的前2printf("%d,%d",first,second);    
    }else{  // 如果需要输出Fibonacci数列的项数大于等于3printf("%d,%d,",first,second);  // 先输出前两项    
        for(i=3;i<=n;i++){
            num= first+second;  // 当前项为前两项的和 
            if(i<n){  //如果没到最后一项,则每项后面加个逗号 
                printf("%d,",num);
            } else{  // 如果到了最后一项,则不加逗号 
                printf("%d",num);
            }
            first = second;  // 把当前项的前第2项first赋值为first后面的那项second的值 
            second = num;  // 把当前项的前一项赋值为当前项的值,经过这两部的重新赋值以便计算下一项的值 
        }     
    }
    
    
}


int main(void){
    
    int n;
    printf("请输入要输出Fibonacci数列的项数n:");
    scanf("%d",&n) ;
    printf("\nFibonacci数列的前%d项为:\n",n);
    fib(n);
    
    return 0;
}

img