c语言用户给定 1个整数 n, 表示杨辉三角形的行数,请输出这个杨辉三角形的具体内容。 例如,如果用户输入 10,则应该输出: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 要求:每个数字占4个字符宽度。 【样例输入】 6 【样例输出】 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 【样例输入】 8 【样例输出】 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 【样例输入】 13 【样例输出】 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 代码
时间: 2023-05-24 08:07:11 浏览: 124
C语言程序设计-二维数组的赋值:打印杨辉三角形(要求打印8行)
5星 · 资源好评率100%
#include <stdio.h>
int main() {
int n;
printf("请输入杨辉三角形的行数:");
scanf("%d", &n);
int a[n][n]; // 创建二维数组存储杨辉三角形
// 初始化数组,将所有元素设为0
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
a[i][j] = 0;
}
}
// 根据杨辉三角形的规则填充数组
for(int i=0;i<n;i++) {
for(int j=0;j<=i;j++) {
if(j==0 || j==i) {
a[i][j] = 1;
} else {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
// 输出整个杨辉三角形
int width = 4; // 每个数字占4个字符宽度
for(int i=0;i<n;i++) {
for(int j=0;j<=i;j++) {
printf("%*d", width, a[i][j]); // %*d表示输出整数,并使用*来指定宽度
}
printf("\n"); // 换行
}
return 0;
}
阅读全文