回 帖 发 新 帖 刷新版面

主题:帮忙改下 刚学C

#include "stdio.h"
void main(void)
{
    int i;
    int f[20]={1};
    for(i=2,i<=20;i++;)
        f[i]=f[i-2]+f[i-1];
    for(i=0;i<20;i++)
        {
           if(i%5==0)printf("\n");
     printf("%12d",f[i]);
        }

}
输出和例题不对阿 输出的是 1    1    2   3   5  
                          8    13   21  34  55 
                          。   。   。  。   。
可是输出都是0的,小弟不知道为何  ,请高手指点下!!!!!!!!!!

回复列表 (共4个回复)

沙发

#include "stdio.h"
void main(void)
{
    int i;
    int f[20];
    f[0]=f[1]=1;
    for(i=2;i<20;i++)
        f[i]=f[i-2]+f[i-1];
    for(i=0;i<20;i++)
        {
           if(i%5==0)printf("\n");
     printf("%12d",f[i]);
        }

}
 

板凳

你的程序是错误的。没看出来吗,这里:for(i=2,i<=20;i++;)
应该是:for(i=2;i<=20;i++)
而且f[1]你初始化了吗,就拿来用。
程序这样就可以运行了:
#include "stdio.h"
void main(void)
{
    int i;
    int f[20]={1,1};
    for(i=2;i<=20;i++)
    {f[i]=f[i-2]+f[i-1];}

    for(int j=0;j<20;j++)
        {
           if(j%5==0)printf("\n");
     printf("%12d",f[j]);
        }

}

3 楼


谢谢,高手阿,请问有知道编程QQ群不?可以方便讨论下,,谢谢 阿[em11][em11][em11][em11]

4 楼

虽然不懂,狂顶。

我来回复

您尚未登录,请登录后再回复。点此登录或注册