用setw和setfill打印出跟数学上格式一模一样的杨辉三角,要求是等腰三角形
时间: 2024-10-25 13:16:22 浏览: 9
在C++中,要打印出跟数学上格式一模一样的杨辉三角(Pascal's Triangle),可以使用`setw`设置每个元素的宽度,以及`setfill`填充空格来创建等腰三角形的对齐效果。这里以C++的`std::cout`和循环结构为例:
```cpp
#include <iostream>
#include <iomanip>
int main() {
int rows;
std::cout << "请输入杨辉三角的行数: ";
std::cin >> rows;
// 使用setw设置元素宽度,setfill设置填充字符
std::cout << std::left << std::setw(4) << std::setfill(' ');
// 打印杨辉三角
for (int i = 0; i <= rows; ++i) {
// 对于每一行,开头和结尾都是一列空格
for (int j = 0; j != 2 * i - 1; ++j) {
std::cout << ' ';
}
// 输出当前行的数值
for (int k = 0; k <= i; ++k) {
if (k == 0 || k == i)
std::cout << setw(4) << k; // 杨辉三角的第一行和最后一行直接输出数字
else
std::cout << setw(4) << k << '/' << i; // 其他行输出数字和除以当前行数
}
// 每一行结束换行
std::cout << '\n';
}
return 0;
}
阅读全文