从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。第一行前面有n-1个空格,第二行有n-2个空格,依此类推。输入5 ,输出 * *** ***** ******* ********* ******* ***** *** *
时间: 2024-09-15 11:01:39 浏览: 59
为了根据用户输入的整数n打印出指定的菱形,我们可以使用嵌套循环结构。外层循环用于控制每一行的数量,内层循环用于打印星号(*)。对于菱形的顶部和底部,我们有一个固定的星号数量,中间的行则逐渐增加或减少。
这里是C++代码示例:
```cpp
#include <iostream>
int main() {
int n;
std::cout << "请输入一个整数n (1 <= n <= 9): ";
std::cin >> n;
// 检查输入是否在范围之内
if (n < 1 || n > 9) {
std::cerr << "错误:输入的值必须在1到9之间。\n";
return 1;
}
for (int i = 0; i < n; ++i) {
// 打印前导空格
for (int j = 0; j < n - i - 1; ++j) {
std::cout << " ";
}
// 打印菱形顶端和底端的固定星号
for (int k = 0; k < 2 * i + 1; ++k) {
std::cout << "* ";
}
// 打印中间的星号部分,数量从i到n-i-1递增
for (int k = i; k <= n - i - 1; ++k) {
std::cout << "* ";
}
std::cout << "\n"; // 换行
}
// 对于菱形的下半部分,需要从外到里,所以倒序处理
for (int i = n - 2; i >= 0; --i) {
// 前导空格和两边的星号处理同上
for (int j = 0; j < n - i - 1; ++j) {
std::cout << " ";
}
for (int k = 0; k < 2 * i + 1; ++k) {
std::cout << "* ";
}
// 中间的星号数量递减
for (int k = i; k >= 0; --k) {
std::cout << "* ";
}
std::cout << "\n";
}
return 0;
}
```
运行这段代码,当用户输入5时,它会按照描述打印出菱形图案。
阅读全文