本题要求按照规定格式打印前N行杨辉三角。
输入在一行中给出N(1≤N≤10)。
以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。
6
- 1
- 1 1
- 1 2 1
- 1 3 3 1
- 1 4 6 4 1
- 1 5 10 10 5 1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
- #include
- void blank(int i, int n);
- int main(int argc, char *argv[])
- {
- int s = 1, h; // 数值和高度
- int i = 1, j; // 循环计数
- scanf("%d", &h); // 输入层数
- blank(i,h);
- printf("%4d\n",1); // 输出第一个 1
- for (i = 2; i <= h; s = 1, i++) // 行数 i 从 2 到层高
- {
- blank(i,h);
- printf("%4d",1); // 第一个 1
- for (j = 1; j <= i - 2; j++) // 列位置 j 绕过第一个直接开始循环
- //printf("%d ", (s = (i - j) / j * s));
- printf("%4d", (s = (i - j) * s / j));
- printf("%4d\n",1); // 最后一个 1,换行
- }
- return 0;
- }
- void blank(int i, int h)
- {
- int j;
- for(j=0;j
- printf(" ");
- }
- }
- //1 1
- //2 1 1
- //3 1 2 1
- //4 1 3 3 1
- //5 1 4 6 4 1
- //6 1 5 10 10 5 1