c++ 输入正整数n,输出星号菱形。 输入 一个正整数n(3<=n<=20) 输出 输出星号菱形 样例输入 复制 5 样例输出 复制 * *** ***** ******* ********* ******* ***** *** *
时间: 2023-12-30 14:24:52 浏览: 128
以下是一个C++程序,根据输入的正整数n输出星号菱形:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
// 输出上半部分
for (int i = 1; i <= n; i++) {
// 输出空格
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
// 输出星号
for (int k = 1; k <= 2 * i - 1; k++) {
cout << "*";
}
cout << endl;
}
// 输出下半部分
for (int i = n - 1; i >= 1; i--) {
// 输出空格
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
// 输出星号
for (int k = 1; k <= 2 * i - 1; k++) {
cout << "*";
}
cout << endl;
}
return 0;
}
```
相关问题
输入正整数n打印由星号组成的(2*n-1)✖️(2*n-1)的菱形
当然,我们可以使用嵌套循环来创建一个菱形,其中星号的数量按照给定的正整数`n`递增。这里是一个简单的C++程序示例:
```cpp
#include <iostream>
void printDiamond(int n) {
// 上半部分菱形
for (int i = 0; i < n; ++i) {
// 前后两行留空,中间一行有i个 *
std::cout << std::string(2 * n - 1, ' ') << std::string(i, '*') << std::endl;
}
// 下半部分菱形反转
for (int i = n - 1; i >= 0; --i) {
// 前后两行各有i+1个 *
std::cout << std::string(i + 1, '*') << std::string(2 * n - 2, ' ') << std::endl;
}
}
int main() {
int n;
std::cout << "Enter a positive integer n: ";
std::cin >> n;
printDiamond(n);
return 0;
}
```
在这个代码中:
- `printDiamond`函数接收一个参数`n`,表示菱形的高度或宽度(因为它是对称的,所以高度和宽度相同)。
- 上半部分菱形用了一个循环,每次增加一行,每一行的星号数量从0到`i`逐渐递增。
- 下半部分菱形是上半部分的反转,每一行的星号数量从`i`减一到0。
运行这个程序时,输入一个正整数`n`,它会输出对应的菱形。
C++输入一个正整数n(为奇数),打印一个高度为n+2的“ * ”菱形图案。
当你在C++中想要打印一个高度为`n + 2`的菱形图案,其中`n`是一个正奇数,可以按照以下步骤操作:
首先,你需要两个嵌套循环:外部循环控制行数,内部循环控制星号(*)的数量。对于每个行,星号的数量会随着行数增加而从中心向两边递增,然后逐渐减少。由于是菱形,所以顶行和底行只有一颗星。
下面是一个简单的C++函数示例来实现这个任务:
```cpp
#include <iostream>
using namespace std;
void printDiamond(int n) {
// 判断n是否为奇数,如果是偶数则不满足题意
if (n % 2 == 0) {
cout << "输入的数值必须是奇数!" << endl;
return;
}
int mid = n / 2; // 中间的空格数量
// 打印上半部分菱形
for (int i = 1; i <= mid + 1; ++i) {
// 第一行只有一个星号
if (i == 1 || i == mid + 1) {
cout << "*";
} else { // 中间行打印星号和空格
cout << " ";
for (int j = 1; j <= 2 * i - 1; ++j) {
cout << "*";
}
cout << " ";
}
cout << endl;
}
// 打印下半部分菱形
for (int i = mid; i >= 1; --i) {
// 最后一行只有一个星号
if (i == mid) {
cout << "*";
} else { // 其他行打印星号和空格
cout << " ";
for (int j = 1; j <= 2 * i - 1; ++j) {
cout << "*";
}
cout << " ";
}
cout << endl;
}
}
int main() {
int n;
cout << "请输入一个正奇数:";
cin >> n;
printDiamond(n);
return 0;
}
```
阅读全文