问题描述 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 输入 输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的 杨辉三角的层数。 输出 对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后 面加一个空行。 输入样例 2 3 输出样例 11 1 11 11 2 1 #include <stdio.h>#include <string.h>int main(){ int n,a[32],b[32],i,j; while(scanf("%d",&n)!=EOF){ a[1] = a[2] = b[1] = b[2] = 1; printf("1\n"); for(i = 2; i <= n; i++){ printf("1 "); for(j = 2; j < i; j++){ b[j] = a[j-1]+a[j]; printf("%d ",b[j]); } b[j] = 1; memcpy(a,b,sizeof(int)*(n+2)); printf("1\n"); } printf("\n"); } return 0;}

评论