找一找下面的代码的错误,请来指正一下
得到如下的结果
下面是代码程序
第5行改为for(i=2;i<20;i++) , 这里改为i=2,是因为前两个元素已经赋值了;
第7行改为for(i=0;i<20;i++) , 这里j++改为i++,因为控制变量是i 。
修改如下:
参考链接:
#include <stdio.h>
int main(void){
// https://blog.csdn.net/wanghao19920907/article/details/51787927
int i,j,f[20]={1,1};
// 这里i从2开始,一是前两个元素已经赋值,二是确保不会数组越界
for(i=2;i<20;i++){
f[i]=f[i-2]+f[i-1];
}
// 这里的j++改为i++,因为控制变量是i
for(i=0;i<20;i++){
// 如果要去掉第一行的空行 ,这里加个条件i!=0
if(i%5==0){
printf("\n");
}
printf("%12d",f[i]);
}
printf("\n");
}
因为没有看到你的题目要求,在你写的代码基础上更改的
看能否满足你的需求,有问题私聊哈~
#include "stdio.h"
int main()
{
int i,j,f[20]={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]);
}
printf("\n");
}