用C语言setw()语句打印杨辉三角形的前10行
时间: 2024-05-11 18:19:26 浏览: 23
以下是使用C语言编写的打印杨辉三角形前10行的代码:
```c
#include <stdio.h>
int main() {
int rows = 10;
int coef = 1;
int i, j;
for (i = 0; i < rows; i++) {
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;
}
```
在上面的代码中,我们使用两个嵌套的循环来遍历每一行和每一列,并使用if-else条件语句计算每个数字的值。我们还使用了setw()函数来保证输出的数字占据4个字符的宽度,从而使杨辉三角形更加美观。
相关问题
用setw()语句打印杨辉三角形的前10行
以下是使用setw()语句打印杨辉三角形前10行的C++代码:
```cpp
#include <iostream>
#include <iomanip> // 必须包含此头文件
using namespace std;
int main()
{
const int ROWS = 10; // 行数
int triangle[ROWS][ROWS] = {0}; // 初始化三角形数组
triangle[0][0] = 1; // 第一行为1
// 计算杨辉三角形
for (int i = 1; i < ROWS; i++)
{
triangle[i][0] = 1; // 每行第一个数为1
for (int j = 1; j <= i; j++)
{
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]; // 计算当前位置的数
}
}
// 打印杨辉三角形
for (int i = 0; i < ROWS; i++)
{
// 设置每个数字的宽度为4,右对齐
for (int j = 0; j <= i; j++)
{
cout << setw(4) << triangle[i][j];
}
cout << endl;
}
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
```
杨辉三角形c++ 代码
下面是一个输出杨辉三角形的C++代码示例:
```
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n, i = 0, j = 0;
cin >> n;
int a[n][n];
for (i = 0; i < n; i++) {
for (j = 0; j < i + 1; j++) {
if (j == 0 || j == i) a[i][j] = 1; else a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < i + 1; j++) {
cout << setiosflags(ios::left) << setw(8) << a[i][j];
}
cout << endl;
}
cout << endl;
return 0;
}
```
这个代码使用了二维数组来存储杨辉三角形中的数字,然后使用两个嵌套的循环来计算和输出杨辉三角形。在循环中,如果当前数字是第一列或最后一列,那么它的值为1,否则它的值为上一行的左上角和右上角数字之和。最后,使用setw()函数来设置输出的宽度,使输出的数字对齐。