【杨辉三角形】用户输入 n (n<=10),生成n阶杨辉三角形。 要求: void fun(int a[][10],int n); 生成杨辉三角形, 在主函数中,用户输入n, 调用fun()函数输出n阶杨辉三角形 【运行结果示例】 输入: 5 输出: (元素输出格式为“%-4d") 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 输入: 7 输出: 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 c语言
时间: 2023-12-10 22:42:17 浏览: 141
这是一个经典的杨辉三角形生成问题,我们可以使用二维数组来存储杨辉三角形,其中第i行第j列的元素等于第i-1行第j-1列和第i-1行第j列的元素之和。
以下是实现代码:
```c
#include <stdio.h>
void fun(int a[][10], int n) {
int i, j;
for (i = 0; i < n; i++) {
a[i][0] = 1;
for (j = 1; j <= i; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
int main() {
int a[10][10] = {0};
int n, i, j;
printf("请输入n:");
scanf("%d", &n);
fun(a, n);
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
printf("%-4d", a[i][j]);
}
printf("\n");
}
return 0;
}
```
运行结果:
```
请输入n:5
1 0 0 0 0
1 1 0 0 0
1 2 1 0 0
1 3 3 1 0
1 4 6 4 1
```
```
请输入n:7
1 0 0 0 0 0 0
1 1 0 0 0 0 0
1 2 1 0 0 0 0
1 3 3 1 0 0 0
1 4 6 4 1 0 0
1 5 10 10 5 1 0
1 6 15 20 15 6 1
```
阅读全文