用c语音编写题目:输出杨辉三角。 程序分析: 1.每行端点与结尾的数为1 2.每行数字左右对称,由1开始逐渐变大 3.第n行的数字有n项 4.每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第1-1个数和第1个数之和,这也是组合数的性质之一。即C(n+1,i)=C(n,i)+C(n,ji-1)
时间: 2024-03-01 09:52:35 浏览: 53
以下是用C语言编写的杨辉三角程序:
```c
#include <stdio.h>
int main()
{
int n, i, j, coef = 1;
printf("请输入行数:");
scanf("%d", &n);
for(i = 0; i < n; i++)
{
for(j = 0; j <= i; j++)
{
if(j == 0 || i == 0) //每行端点为1
coef = 1;
else
coef = coef * (i - j + 1) / j; //计算组合数
printf("%d ", 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
```
相关问题
请用c语言编写题目:产生并输出杨辉三角的前七行
下面是用C语言编写的产生并输出杨辉三角的前七行的代码:
```c
#include <stdio.h>
int main() {
int rows = 7;
int coef = 1;
for(int i = 0; i < rows; i++) {
for(int space = 1; space < rows - i; space++)
printf(" "); // 输出空格
for(int j = 0; j <= i; j++) {
if(j == 0 || i == 0)
coef = 1;
else
coef = coef * (i - j + 1) / j; // 计算组合数
printf("%4d", coef); // 输出数值,占4个字符的宽度
}
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
```
C语言编写程序:输出以下杨辉三角形(要求输出10行)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
以下是用 C 语言编写的程序,可以输出10行杨辉三角形:
```c
#include <stdio.h>
int main() {
int arr[10][10];
int i, j;
for (i = 0; i < 10; i++) {
for (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;
}
```
程序的主要思路是使用一个二维数组来存储杨辉三角形中的每个数字,并根据递推公式计算每个数字的值。在每行输出完毕后,记得要换行。
阅读全文