C++ 输入n,画一个2n-1行的菱形 测试输入:3 预期输出: + +++ +++++ +++ +
时间: 2024-10-19 15:11:07 浏览: 19
在C++中,你可以使用嵌套循环和字符串连接的方式来实现这个需求。这里是一个简单的程序示例:
```cpp
#include <iostream>
using namespace std;
void printDiamond(int n) {
// 上半部分的三角形
for (int i = 1; i <= n; i++) {
string spaces = "";
string stars = "*"; // 可能需要更改为"+",取决于题目的要求
// 空格的数量随着行数递增
for (int j = n - i; j > 0; j--) {
spaces += " ";
}
// 星号的数量固定为2i-1
for (int k = 1; k <= 2 * i - 1; k++) {
cout << stars;
}
cout << endl;
}
// 下半部分的倒置三角形
for (int i = n - 1; i >= 0; i--) {
string spaces = "";
string stars = "*"; // 同上
// 空格的数量随着行数递减
for (int j = i; j < n; j++) {
spaces += " ";
}
// 星号的数量固定为2i-1,但是需要倒序打印
for (int k = 2 * i - 1; k >= 1; k--) {
cout << stars;
}
cout << endl;
}
}
int main() {
int n;
cout << "请输入菱形的行数(n): ";
cin >> n;
printDiamond(n);
return 0;
}
```
当你运行此程序并输入 `3`,你会得到预期的输出:
```
+
+++
+++++
+++
+
```
阅读全文