C语言:输入一个正整数,输出指定行数的杨辉三角。 输入格式: 一个不大于20的正整数 输出格式: 对应输入值行数的杨辉三角。 杨辉三角中的每个值占六个字符的宽度,左对齐 如果输入超范围,则输出提示信息:input error! 并结束程序的运行。
时间: 2024-10-06 11:05:02 浏览: 32
在C语言中,我们可以利用嵌套循环以及数组来生成并打印杨辉三角。首先,需要创建一个二维数组存储每一行的数据,然后通过两层for循环控制行数和列数。对于每一项,根据杨辉三角的规律计算当前元素的值,即前两项之和。
下面是一个简单的示例函数来实现这个功能:
```c
#include <stdio.h>
// 定义一个数组来存储杨辉三角的值
int triangle[21][21];
void print_pascal_triangle(int n) {
// 杨辉三角的前两个元素
triangle[0][0] = 1;
// 遍历每一行
for (int i = 1; i <= n; i++) {
// 初始化当前行的第一个元素
triangle[i][0] = 1;
// 内部循环填充其余元素
for (int j = 1; j < i; j++) {
// 计算当前元素为前两项之和
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
// 输出当前行
printf("%*d", 6, triangle[i][0]); // 左对齐显示
// 除了最后一行,其他行都添加分隔符
if (i != n) {
for (int k = 1; k < i; k++)
printf(" %*d", 6, triangle[i][k]);
printf(" %*d\n", 6, triangle[i][i]);
} else {
printf("\n");
}
}
}
int main() {
int num;
printf("请输入一个小于20的正整数: ");
scanf("%d", &num);
// 检查输入是否有效
if (num > 20) {
printf("input error!\n");
return 0;
}
print_pascal_triangle(num);
return 0;
}
```
当你运行这个程序,它会提示你输入一个正整数,然后生成相应行数的杨辉三角。如果输入超过20,它会显示错误信息并退出。
阅读全文