dev-c++打印实心菱形图像,执行效果如下图所示,n 表示菱形上三角形的行数。不使用递归的方法,我想在星号前面加空格
时间: 2024-10-24 09:15:21 浏览: 24
在`dev-c++`中,如果你想打印实心菱形并添加空格来创建前导空白,可以使用嵌套循环和字符串拼接来实现。这里是一个简单的例子,假设你想打印一个n行的菱形,其中n=5:
```cpp
#include <iostream>
using namespace std;
void printDiamond(int n) {
int spaces = n - 1; // 空白字符的数量从中心向两边递减
// 打印上半部分的菱形(包括中心行)
for (int i = 0; i <= n; ++i) {
// 左侧空格
for (int j = 0; j < spaces; ++j)
cout << " ";
if (i == n / 2 || i == n) { // 中心行或底部行,全为星号
for (int k = 0; k < 2 * i + 1; ++k)
cout << "* ";
} else { // 其他行,星号两侧有空格
for (int k = 0; k < 2 * i - 1; ++k)
cout << " *";
cout << " *"; // 右端补一个星号
}
cout << endl;
spaces--;
}
// 打印下半部分的菱形,空格逐渐增加
spaces = 0;
for (int i = n - 1; i >= 0; --i) {
// 左侧空格
for (int j = 0; j < spaces; ++j)
cout << " ";
if (i == n / 2 || i == 0) { // 中心行或顶部行,全为星号
for (int k = 0; k < 2 * i + 1; ++k)
cout << "* ";
} else { // 其他行,星号两侧有空格
for (int k = 0; k < 2 * i - 1; ++k)
cout << " *";
cout << " *"; // 右端补一个星号
}
cout << endl;
spaces++;
}
}
int main() {
int n;
cout << "请输入菱形的行数(n): ";
cin >> n;
printDiamond(n);
return 0;
}
```
运行此程序,输入想要的行数,它会按要求打印出带空格的菱形。
阅读全文