c语言小问题。。。。
#include <stdio.h>
main()
{
int a[20],i,b[20],n=0;
a[0]=1;
a[1]=1;
for(i=2;i<20;i++)
{printf("a[%d]=%d ",i,a[i]);
a[i]=a[i-1]+a[i-2];
if(a[i]/2==0)
{b[n]=a[i];
n++;}
}for(n=0;n<20;n++)
{printf("%d\n",n);
printf("%d ",b[n]);}
getch();
}这道题是要求Fibonacci兔子数列并把偶数放到另一个数组里面,但输出的显示很大。。。。
没有找出原因,错在那了?
追问:除了最后那个printf("%d\n",b[n]);外,其它的都是为了找错临时加的。。。。
0 0 4063232 4063232 0 4063232 2292944 2090009056 2293536 125216 2090009056 22933
20 2090009051 2293564 2090002720 2090008672 -1 2090008669 2009055966 4063232
这个输出结果。。没有一个数是对的。。。
答案:#include <stdio.h>
void main()
{
int a[20],i,b[20],n=0,j;
a[0]=1;
a[1]=1;
for(i=2;i<20;i++)
{
a[i]=a[i-1]+a[i-2];
printf("a[%d]=%d ",i,a[i]);
if(a[i]/2==0)
{ b[n]=a[i];
n++;
}
}
for(j=0;j<n;j++)
{printf("%d\n",n);
printf("%d ",b[j]);
}
}
改了下、、可以了,希望采纳~!!
其他:显示很大是什么个意思? #include <stdio.h>
main()
{
int a[20],i,b[20],n=0;
a[0]=1;
a[1]=1;
for(i=2;i<20;i++)
{printf("a[%d]=%d ",i,a[i]); //第一次输出a[2]没有计算是好多哦,把下面一句先写
a[i]=a[i-1]+a[i-2];
if(a[i]/2==0)
{b[n]=a[i];
n++;}
}for(n=0;n<20;n++)//b数组没有初始化每个的值,全部输出20个数的话,后面没有用的是随机数,一般都很大!
{printf("%d\n",n);
printf("%d ",b[n]);}
getch();
}
上一个:现在我准备开始自学C语言编程,我想问一下:学习的时候需要用到软件吗
下一个:2011年9月份的全国计算机二级C语言笔试用什么资料最好,并且会有比较高的通过率