杨辉三角,c语言编程,数组解决

程序运行结果除了我想要的阵列,还有一大堆乱码,怎么消除,请高人指点!

#include<stdio.h>

void main()

{

 int a[10][10];

 int i,j;

 for(i=0;i<10;i++)

 {

  for(j=0;j<=i;j++)//循环的控制出问题

  {

   if(j==0||j==i)

   {

    a[i][j]=1;

   }

   else

   {

    a[i][j]=a[i-1][j]+a[i-1][j-1];

   }

   printf("%-5d",a[i][j]);

  }

  printf("\n");

 }

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-03
楼主你好!!!

问题在于第二个for()循环,for(j=0;j<=9;j++),表示每行都要输出10个数,但是1-9行,都没10个数,所以后面的会是随机数!!!

应该为;for(j=0;j<=i;j++);
第2个回答  2010-08-05
#include <stdio.h>
int main()
{int a[10][10],i,j;
for (i=1;i<=10;i++)
{for (j=1;j<=i;j++)
{if (j==1||i==j)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf(" %d",a[i][j]);}
printf("\n");
}
getch();
}
第3个回答  2010-08-03
猪头或火宝宝:
你的for语句后面不应该有分号,地球人都知道~
相似回答