可以在fib()函数中使用循环等方式来打印Fibonaccui数列的每一项,代码如下:
#include <stdio.h>
void fib(int n){
int i;
int first=1; // Fibonacci数列的第1项
int second=1; // Fibonacci数列的第2项
int num;
if(n==1){ // 如果只需要输出Fibonacci数列的第1项
printf("%d",first);
}else if(n==2){ // 如果只需要输出Fibonacci数列的前2项
printf("%d,%d",first,second);
}else{ // 如果需要输出Fibonacci数列的项数大于等于3项
printf("%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;
}