用C++编写一个程序,打印以下的菱形图案。要求使用打印一个星号(※)、一个空格或者一个换行符的输出语句。尽量多用循环(使用嵌套for语句),同时尽量减少输出语句的使用次数。 菱形为第一行一个※,每一行比上一行多两个,中间一行最多,为为9个,然后再每一行递减两个
时间: 2024-12-22 22:33:57 浏览: 13
为了用C++编写一个打印菱形图案的程序,我们可以使用嵌套的`for`循环。首先,我们从两边开始打印,然后逐渐向中心移动,直到到达最宽的一行,再逐步回溯到两边结束。下面是实现这一过程的示例代码:
```cpp
#include <iostream>
void printDiamond(int n) {
for (int i = 0; i < n; ++i) { // 上半部分
for (int j = n - i - 1; j > i; --j) {
std::cout << " ";
}
for (int k = 0; k <= i; ++k) { // 星号(*)和换行符(\n)
std::cout << "*";
if (k != i) {
std::cout << "\n"; // 每增加一行就打印一次换行符
}
}
std::cout << "\n"; // 结束每行后换行
}
for (int i = n - 1; i >= 0; --i) { // 下半部分
for (int j = n - i - 1; j > 0; --j) { // 回溯时打印空格
std::cout << " ";
}
for (int k = 0; k < i; ++k) {
std::cout << "*";
}
std::cout << "\n";
}
}
int main() {
int n = 5; // 要求的菱形大小,可以根据需要调整
printDiamond(n);
return 0;
}
```
在这个程序中,我们通过改变内部循环的迭代次数来控制每个部分的星号数量,并利用`std::cout`分别输出空格、星号和换行符。
阅读全文