C++输入一个正整数n(为奇数),打印一个高度为n+1的“ * ”菱形图案。(不使用自定义函数;中间最长的一行只打印一次)
时间: 2024-10-24 19:05:11 浏览: 16
在C++中,你可以通过嵌套循环和条件判断来实现这个任务。以下是简单的程序代码示例:
```cpp
#include <iostream>
int main() {
int n;
std::cout << "请输入一个正奇数: ";
std::cin >> n; // 输入验证,这里假设用户输入的是正奇数
// 打印上半部分菱形
for (int i = 0; i <= n / 2; ++i) {
// 左侧星号
for (int j = 0; j <= i; ++j) {
std::cout << "*";
}
// 空格填充
if (i != n / 2) {
for (int k = i + 1; k <= n / 2; ++k) {
std::cout << " ";
}
}
// 右侧星号
for (int j = 0; j <= i; ++j) {
std::cout << "*";
}
std::cout << "\n"; // 换行
}
// 打印下半部分菱形(倒置)
for (int i = n / 2 - 1; i >= 0; --i) {
// 左侧星号
for (int j = 0; j <= n - i - 1; ++j) {
std::cout << "*";
}
// 空格填充
for (int k = 0; k <= i; ++k) {
std::cout << " ";
}
// 右侧星号
for (int j = 0; j <= n - i - 1; ++j) {
std::cout << "*";
}
std::cout << "\n";
}
return 0;
}
阅读全文