输入正整数n,打印由“*”组成的(2*n-1)×(2*n-1)菱形图案。例如,输入为3,输出以下图案: * *** ***** *** * 输入格式: 请在这里写输入格式。例如:输入正整数n。 输出格式: 请在这里描述输出格式。例如:输出要求的图形。
时间: 2023-12-03 21:02:11 浏览: 280
输入格式:正整数n。
输出格式:由“*”组成的(2*n-1)×(2*n-1)菱形图案。
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {//上半部分
for (int j = 0; j < n - 1 - i; j++) {
cout << " ";
}
for (int j = 0; j <= 2 * i; j++) {
cout << "*";
}
cout << endl;
}
for (int i = n - 2; i >= 0; i--) {//下半部分
for (int j = 0; j < n - 1 - i; j++) {
cout << " ";
}
for (int j = 0; j <= 2 * i; j++) {
cout << "*";
}
cout << endl;
}
return 0;
}
```
相关问题
C++实现 输入一个整数n,输出2n-1行的由*组成的菱形
下面是使用C++语言实现输入一个整数n,输出2n-1行的由*组成的菱形的代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入一个整数n:";
cin >> n;
for (int i = 1; i <= n; i++) { // 输出上半部分
for (int j = 1; j <= n-i; j++) {
cout << ' ';
}
for (int j = 1; j <= 2*i-1; j++) {
cout << '*';
}
cout << endl;
}
for (int i = n-1; i >= 1; i--) { // 输出下半部分
for (int j = 1; j <= n-i; j++) {
cout << ' ';
}
for (int j = 1; j <= 2*i-1; j++) {
cout << '*';
}
cout << endl;
}
return 0;
}
```
运行示例:
```
请输入一个整数n:4
*
***
*****
*******
*****
***
*
```
从键盘输入一个整数n,打印出n*2-1行的菱形
好的,以下是代码实现:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i, j, k;
printf("请输入一个整数n:");
scanf("%d", &n);
for(i=1; i<=n; i++)
{
for(j=1; j<=n-i; j++)
printf(" ");
for(k=1; k<=2*i-1; k++)
printf("*");
printf("\n");
}
for(i=n-1; i>=1; i--)
{
for(j=1; j<=n-i; j++)
printf(" ");
for(k=1; k<=2*i-1; k++)
printf("*");
printf("\n");
}
return 0;
}
```
这段代码实现了从键盘输入一个整数n,打印出n*2-1行的菱形。首先,我们使用 for 循环来打印上半部分的菱形,然后再使用 for 循环来打印下半部分的菱形。在每行输出时,我们使用两个 for 循环,第一个 for 循环用于打印空格,第二个 for 循环用于打印星号。