输入一个数字n,n为正奇数且小于20输出对应的菱形,n为字符数最多的一行的字符数量。菱形下方留一空行
时间: 2024-09-28 21:16:43 浏览: 51
要根据输入的正奇数 `n` 输出对应大小的菱形,我们可以使用嵌套循环来构建菱形。菱形的上半部分由两个相等宽度的部分组成,下半部分是对称的,但只有一条对角线。这里是一个简单的 C++ 代码示例:
```cpp
#include <iostream>
void printDiamond(int n) {
int half_n = n / 2; // 上下两部分的宽度
// 打印上半部分(菱形)
for (int i = 0; i <= half_n; ++i) {
for (int j = 0; j <= half_n - i; ++j) {
std::cout << " ";
}
for (int k = 0; k < 2 * i + 1; ++k) {
std::cout << "*";
}
std::cout << "\n";
}
// 打印中间垂直线
if (half_n % 2 == 0) { // 如果半径是偶数,多打印一个空格
std::cout << " ";
}
for (int i = 0; i < n; ++i) {
std::cout << "*";
}
std::cout << "\n";
// 打印下半部分(菱形倒置)
for (int i = half_n - 1; i >= 0; --i) {
for (int j = 0; j <= half_n - i; ++j) {
std::cout << " ";
}
for (int k = 0; k < 2 * i + 1; ++k) {
std::cout << "*";
}
std::cout << "\n";
}
}
int main() {
int n;
std::cout << "Enter a positive odd number less than 20: ";
std::cin >> n;
if (n > 19 || n % 2 != 1) {
std::cout << "Invalid input! Please enter a positive odd number less than 20.\n";
} else {
printDiamond(n);
}
return 0;
}
```
运行这段代码时,请确保输入的是一个1到19之间的正奇数。
阅读全文