#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j;
int a[30][30];
while(scanf("%d",&n)!=-1)
{
if(n==0) break;
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
if(i==j||j==0)
a[i][j]=1;
//a[0][0]=1;a[0][1]=1;a[1][1]=1;
for(i=2;i<n;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
printf("%d ",a[i][j]);
printf("%d\n",a[i][i]);
}
}
return 0;
}
首先考虑第一列和斜边1的问题,要注意的是各个循环的开头和结束部分
浙公网安备 33010602011771号