一道简单的C语言程序设计题

编写一个函数yang(int n),按参数n的要求打印出杨辉三角形。例如当n=3时杨辉三角形的输出形式为:
1
1 1
1 2 1
1 3 3 1
你的我试了一下,显示第三行 数组太小在yang函数中
这个该怎么解决呢?

void yang(int n)
{
static int array[200][200],i,j,k;
for(i=0;i<n;i++)
{
array[i][i]=array[i][0]=1;
for(j=1;j<=i;j++)
array[i][j]=array[i-1][j]+array[i-1][j-1];
}
for(i=0;i<n;i++)
{
for(k=0;k<n-i;k++)
printf(" "); /*三个空格,一定要记着改为三个哦*/
for(j=0;j<=i;j++)
{
printf("%5d",array[i][j]);
printf(" ");
}
printf("\n");
}
}

注意n要小等于于200;如果要更大的话,更改200就行了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-23
#include "stdio.h"
void main()
{
int i,j,n=13;
printf("n=");
while(n>12)
scanf("%d",&n);
for(i=0;i<=n;i++)
{
for(j=0;j<24-2*i;j++)
printf(" ");
for(j=1;j<i+2;j++)
printf("%4d",c(i,j));
printf("\n");
}
}
int c(int x,int y)
{
int z;
if((y==1)||(y==x+1))
return 1;
z=c(x-1,y-1)+c(x-1,y);
return z;
}
相似回答