打印杨辉三角 c语言
时间: 2023-12-02 20:41:46 浏览: 87
以下是C语言打印杨辉三角的代码和解释:
```c
#include <stdio.h>
int main() {
int arr[10][10] = {0}; // 初始化数组,全部赋值为0
int n, i, j;
printf("请输入要打印的行数:");
scanf("%d", &n); // 输入要打印的行数
for (i = 0; i < n; i++) {
arr[i][0] = 1; // 每行第一个数为1
for (j = 1; j <= i; j++) {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j]; // 计算杨辉三角中的数字
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < n-i-1; j++) {
printf(" "); // 打印空格,使数字居中对齐
}
for (j = 0; j <= i; j++) {
printf("%-3d ", arr[i][j]); // 打印数字,每个数字之间间隔为两个空格
}
printf("\n"); // 换行
}
return 0;
}
```
相关问题
打印杨辉三角形c语言
打印杨辉三角形是一种经典的计算机科学问题,它涉及到动态规划和递归的概念。在C语言中,我们可以使用嵌套循环或利用数组来存储每一行的数据,然后逐行输出。以下是使用二维数组来实现的简单示例:
```c
#include <stdio.h>
void printPascalTriangle(int n) {
int triangle[n][n]; // 初始化一个n*n的数组
int num = 1;
// 第一行只有一项
for (int i = 0; i <= n; i++) {
triangle[0][i] = 1;
}
// 输出前两行
for (int i = 1; i <= n; i++) {
// 输出当前行
for (int j = 0; j <= i; j++) {
printf("%d ", triangle[i - 1][j]);
}
printf("\n"); // 换行
// 计算下一行的值,并填充到数组中
for (int k = 0; k < i; k++) {
if (k == 0 || k == i - 1)
triangle[i][k] = num++;
else
triangle[i][k] = triangle[i - 1][k - 1] + triangle[i - 1][k];
}
}
}
int main() {
int rows;
printf("请输入要打印的杨辉三角形的行数: ");
scanf("%d", &rows);
printPascalTriangle(rows);
return 0;
}
```
在这个程序中,用户输入想要打印的三角形行数,然后`printPascalTriangle`函数会按行计算并打印出杨辉三角形。
打印杨辉三角形C语言
以下是打印杨辉三角形的C语言代码:
```c
#include <stdio.h>
int main() {
int rows, coef = 1, space, i, j;
printf("请输入要打印的行数:"); scanf("%d", &rows);
for (i = 0; i < rows; i++) {
for (space = 1; space < rows - i; space++)
printf(" ");
for (j = 0; j <= i; j++) {
if (j == 0 || i == 0)
coef = 1;
else
coef = coef * (i - j + 1) / j;
printf("%-4d", coef);
}
printf("\n");
}
return 0;
}
```
运行结果如下:
```
请输入要打印的行数:6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
阅读全文