用c语言写一个30行的杨辉三角
时间: 2024-05-09 19:15:58 浏览: 122
以下是用 C 语言写的 30 行杨辉三角代码:
```c
#include <stdio.h>
int main() {
int n, i, j, coef = 1;
printf("Enter the number of rows: ");
scanf("%d", &n);
for(i = 0; i < n; i++) {
for(j = 0; j <= i; j++) {
if(j == 0 || i == 0) {
coef = 1;
} else {
coef = coef * (i - j + 1) / j;
}
printf("%d ", coef);
}
printf("\n");
}
return 0;
}
```
在这个程序中,我们首先通过 `scanf` 函数从用户那里获取杨辉三角的行数。然后,我们使用两个嵌套的循环来打印杨辉三角的每一行。在每一行中,我们计算出当前位置的系数,并将其打印出来。最后,我们将每一行的末尾换行符打印出来,以便下一行从新的一行开始。
相关问题
用c语言的函数打印n行杨辉三角
好的,我可以回答这个问题。以下是用 C 语言的函数打印 n 行杨辉三角的代码:
```
#include <stdio.h>
int binomial_coef(int n, int k) {
int res = 1;
if (k > n - k) {
k = n - k;
}
for (int i = 0; i < k; i++) {
res *= (n - i);
res /= (i + 1);
}
return res;
}
void print_pascal_triangle(int n) {
for (int line = 0; line < n; line++) {
for (int i = 0; i <= line; i++) {
printf("%d ", binomial_coef(line, i));
}
printf("\n");
}
}
int main() {
int n;
printf("Enter the number of rows: ");
scanf("%d", &n);
printf("Pascal triangle of %d rows:\n", n);
print_pascal_triangle(n);
return 0;
}
```
这个程序利用了杨辉三角的性质,每一行都可以看作是二项式系数的一次项,通过计算得到。函数 binomial_coef() 计算二项式系数,函数 print_pascal_triangle() 打印杨辉三角。在主函数中,用户输入行数 n,然后调用 print_pascal_triangle() 打印 n 行杨辉三角。
用c语言写出10行杨辉三角
以下是用 C 语言写出的 10 行杨辉三角代码:
```
#include <stdio.h>
int main() {
int n = 10;
int arr[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
arr[i][j] = 1;
} else {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果:
```
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
```
阅读全文