【求助】关于杨辉三角
自学的书上有道习题是输出杨辉三角,我编写了如下程序,win-tc通过编译且正确输出,但是放到Dev-C++中输出就不正确了,望各位指点一下[italic]#include "stdio.h"
#include "math.h"
main()
{
int a[10][10],i,j;
for(i=0;i<10;i++)
a[i][0]=1;
a[i][i]=1;
for(i=1;i<10;i++)
for(j=1;j<10;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
if(a[i][j]!=0)
printf("%-4d",a[i][j]);
printf("\n");
}[/italic]
[italic] getch();
}[/italic]
晕,怎么变斜体了,改都改不回来....
图一:win-tc的结果
图二:dev的结果
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#define N 10
int main(void)
{
int a[N][N],i,j;
for(i=0;i<N;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<N;i++)
{
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++) //你的问题出在这里,j要<=i
printf("%-4d",a[i][j]);
printf("\n");
}
getchar();
return(0);
}
----------------解决方案--------------------------------------------------------
谢谢楼上的,问题解决了。
----------------解决方案--------------------------------------------------------