关于输出杨辉三角的问题,请大侠解答

来源:百度知道 编辑:UC知道 时间:2024/05/04 17:43:05
我的程序为什么输出的是一大串数,而不是杨辉三角?
#include"stdio.h"
#define m 5
#define n 5
void setdata(int p[][n]);
void output(int p[][n]);
main()
{
int s [m][n];
setdata(s);
output(s);
}
void setdata(int p[][n])
{
int i,j;
for(i=0;i<m;i++)
p[i][0]=1;p[i][i]=1;
for(i=2;i<m;i++)
{
for(j=1;j<i;j++)
p[i][j]=p[i-1][j-1]+p[i-1][j];
}
}
void output(int p[][n])
{
int i,j;
for(i=0;i<m;i++)
{
for(j=1;j<=i;j++)
printf("%d",p[i][j]);
printf("\n");
}
}

/*********************************************************************/
//杨辉三角
/*********************************************************************/
#include"stdio.h"
#define MAX 100

int a[MAX][MAX];
main()
{
int i, j, k, n;
printf("请输入需要的行数:\n");
do
{
scanf("%d",&n);
if (n>=1)
break;
}
while(1);

/*循环赋值*/
for (i=0;i<n;i++)
{
a[i][0]=1;
a[i][i]=1;
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("%4d",a[i][j]);
}
printf("\n");
}
}

你自己对比一下吧,这是我写的。

print的格式控制没设好。。。