杭电oj2032
#include<stdio.h>
int main(void)
{
int a, b, i, j,k;
int e[35][35];
while (scanf("%d", &a) != EOF&&a >= 1 && a <= 30)
{
e[0][0] = 1;
e[0][1] = 0;
printf("%d\n", e[0][0]);
for (i = 1; i < a; i++)
{
for (j = 0; j <= i; j++)
{
if (j == 0)
{
e[i][j] = e[i - 1][j];
printf("%d", e[i][j]);
}
else
{
e[i][j] = e[i - 1][j] + e[i - 1][j - 1];
printf(" %d", e[i][j]);
}
k = j;
}
printf("\n");
e[i][k + 1] = 0;
}
printf("\n");
}
return 0;
}
第n行的第i个数 = 第n-1行第i个数 + 第n-1行第i-1个数。
然后在最后一个数的后面补一个0,这样可以使下一行的最后一个数为1。