输出双三角形图案,行数 n (n>1)由键盘输入
时间: 2024-10-25 08:16:12 浏览: 19
要输出一个双三角形图案,其中第一行为星号(*),之后每一行都是前一行加上额外的星号形成两个对称的三角形,可以根据给定的行数 `n` 来生成。以下是一个简单的 C++ 代码示例:
```cpp
#include <iostream>
int main() {
int n;
std::cout << "请输入行数 (n > 1): ";
std::cin >> n;
// 检查输入是否合法
if (n <= 1) {
std::cout << "错误!行数必须大于 1。\n";
return 0;
}
// 输出上半部分的三角形
for (int i = 1; i <= n; ++i) {
// 前导空格
for (int j = n - i; j > 0; --j) {
std::cout << " ";
}
// 星号
for (int k = 1; k <= 2 * i - 1; ++k) {
std::cout << "*";
}
std::cout << "\n";
}
// 输出下半部分的三角形(翻转)
for (int i = n - 2; i >= 0; --i) {
// 前导空格
for (int j = n - i - 1; j > 0; --j) {
std::cout << " ";
}
// 星号
for (int k = 1; k <= 2 * i; ++k) {
std::cout << "*";
}
std::cout << "\n";
}
return 0;
}
```
这个程序首先要求用户输入行数 `n`,然后根据输入的值打印出一个上半部分和下半部分相等的双三角形。如果输入的行数小于或等于 1,会提示错误。
阅读全文