<span style="font-size:18px;">#include <stdio.h>
int n;
int a[50];
int i,j;
void yanghui(int m)
{
if(m == 1)printf("1\n\n");
else if(m == 2)printf("1\n1 1\n\n");
else
{
a[0] = 1;
a[1] = 1;
printf("1\n");
printf("1 1\n");
for(i = 2; i < n; i++)
{
printf("1 ");
for(j = i-1; j >= 1; j--)
{
a[j] = a[j] + a[j-1];
}
for(j = 1; j < i; j++)
{
printf("%d ",a[j]);
}
a[j] = 1;
printf("%d\n",a[j]);
}
printf("\n");
}
}
int main()
{
while(scanf("%d",&n)!=EOF)
{
yanghui(n);
}
return 0;
}</span>
两边输出的格式比较固定;
我是用一个数组来输出,中间的数每更新一次输出一行;
中间的数更新时注意要从后向前更新,这样不会对前一个数的输出产生影响;