自己写的打印杨辉三角出了点问题
刚刚学了数组,试着打印杨辉三角,可是出了点问题
当我命令输出俩行时,输出的是1 -858993460 1 1
代码如下
#include <stdio.h>
main()
{
int i,j,m,a[20][20];
scanf ("%d",&m);//输入行数m
for (i=0;i<m;i++)//给对角线和左边第一列赋初值1
{
a[i][0]=1;
a[i][i]=1;
}
for (i=2;i<m;i++)//外循环控制行数
{
for (j=1;j<m-1;j++)//内循环,每行的j列
a[i][j]=(a[i-1][j])+(a[i-1][j-1]);
}
for (i=0;i<m;i++)
for (j=0;j<m;j++)
printf ("%d ",a[i][j]);
}
#include <stdio.h>
#define N 6
main()
{
int a[N][N]={0};
int i=0,j=0;
for(i=0;i<N;i++)
a[i][0]=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++)
printf("%d ",a[i][j]);
printf("\n");
}
}
#include <stdio.h>
main()
{
int i,j,m,a[20][20] ={0};
scanf ("%d",&m);//输入行数m
for (i=0;i<m;i++)//给对角线和左边第一列赋初值1
{
a[i][0]=1;
a[i][i]=1;
}
for (i=1;i<m;i++)//外循环控制行数
{
for (j=1;j<m-1;j++)//内循环,每行的j列
a[i][j]=(a[i-1][j])+(a[i-1][j-1]);
}
for (i=0;i<m;i++){
for (j=0;j<m;j++)
printf ("%d ",a[i][j]);
printf("\n");
}
}