m0_68325284 2022-04-28 15:46 采纳率: 83.3%
浏览 29
已结题

C语言课上LS给的程序有错,应该怎么改呢?

#include<stdio.h>
long int fib(int n)
{
long int f;
if(n==1 || n==2)
f=1;
else;
f=fib(n-1)+fib(n-2);
return(f);
}
void mian()
{
int i;
for(i=1;i<=20;i++)
{
printf("%101",fib(i));
if(i%4==0)
cout << endl;
}
printf("\n");
}

  • 写回答

4条回答 默认 最新

  • qzjhjxj 2022-04-28 16:18
    关注

    修改见注释,供参考:

    #include<stdio.h>
    long int fib(int n)
    {
        long int f;
        if (n == 1 || n == 2)
            f = 1;
        else    //; 这里多了 ';' 分号
            f = fib(n - 1) + fib(n - 2);
        return (f);
    }
    void main()  //mian()  修改
    {
        int i;
        for (i = 1; i <= 20; i++)
        {
            printf("%10ld", fib(i));//printf("%101", fib(i)); 修改
            if (i % 4 == 0)
                printf("\n");       //cout << endl;  修改
        }
        printf("\n");
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月19日
  • 已采纳回答 5月11日
  • 创建了问题 4月28日