用c语言输出杨辉三角的左一半
时间: 2023-12-25 22:54:43 浏览: 65
```c
#include <stdio.h>
int main()
{
int n, i, j, c;
printf("Enter the number of rows: ");
scanf("%d", &n);
for(i=0; i<n; i++)
{
c = 1;
for(j=0; j<=i; j++)
{
printf("%d ", c);
c = c * (i-j)/(j+1);
}
printf("\n");
}
return 0;
}
```
输出结果:
```
Enter the number of rows: 6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
相关问题
用C语言分别输出杨辉三角左右一半
左半部分:
```c
#include <stdio.h>
int main() {
int n, i, j, c=1;
printf("请输入行数:");
scanf("%d", &n);
for (i=0; i<n; i++) {
c = 1; // 每行第一个数都是1
for (j=0; j<=i; j++) {
printf("%d ", c);
c = c * (i-j) / (j+1); // 计算下一个数
}
printf("\n"); // 换行
}
return 0;
}
```
右半部分:
```c
#include <stdio.h>
int main() {
int n, i, j, c=1;
printf("请输入行数:");
scanf("%d", &n);
for (i=0; i<n; i++) {
for (j=0; j<n-i-1; j++) {
printf(" "); // 输出空格
}
c = 1; // 每行第一个数都是1
for (j=0; j<=i; j++) {
printf("%2d ", c);
c = c * (i-j) / (j+1); // 计算下一个数
}
printf("\n"); // 换行
}
return 0;
}
```
使用c语言输出杨辉三角
在C语言中,我们可以使用嵌套循环和动态内存分配来输出杨辉三角。杨辉三角是一个数学术题中的经典示例,它是一个以1开始的一系列数字形成的一种金字塔形状,每一行的每个数字都是其上一行相邻两个数字之和。
下面是一个简单的C程序示例,用于打印前几行的杨辉三角:
```c
#include <stdio.h>
// 函数来计算并输出杨辉三角的一个元素
void printYHTriangle(int n) {
int** triangle = (int **)malloc(sizeof(int*) * n);
for (int i = 0; i < n; i++) {
triangle[i] = (int *)malloc(sizeof(int) * (i + 1));
triangle[i][0] = triangle[i][i] = 1;
printf("%d", triangle[i][0]);
if (i > 0)
printf(" ");
for (int j = 1; j < i; j++)
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
printf("%d\n", triangle[i][i]);
free(triangle[i]);
}
free(triangle);
}
int main() {
int rows = 5; // 打印5行杨辉三角
printYHTriangle(rows);
return 0;
}
```
运行这个程序,你会看到前5行的杨辉三角形。如果你想打印更多的行,只需改变`rows`变量的值即可。
阅读全文