当前位置:编程学习 > C/C++ >>

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语言笔试用什么资料最好,并且会有比较高的通过率

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,