Code
#include <stdio.h>
int main()
{
int i, j, n, a[30][30];
while(scanf("%d",&n)&&n)
{
for(i=1; i<=n; i++)
for(j=1; j<=i; j++)
a[i][j] = 1;
for(i=1; i<=n; i++)
for(j=2; j<=i-1; j++)
a[i][j] = a[i-1][j-1] + a[i-1][j];
for(i=1; i<=n; i++)
{
for(j=1; j<=i-1; j++)
{
printf("%d ",a[i][j]);
}
printf("%d",a[i][i]);
printf("\n");
}
printf("\n");
}
return 0;
}
反思:数组练习,杨辉三角规律:一个数由它的上面一个数和上面前面一个数相加得到。也能以不使用数组的方法实现,代码如下:
#include <stdio.h>
int main()
{
long i,j,n,k;
scanf("%ld",&n);
for(i=1; i<=n; i++)
{
k = 1;
for(j=1;j<i;j++)
{
printf("%ld ",k);
k = k*(i-j)/j;
}
printf("1\n");
}
}