用c++编写一个小程序,要求输入一个整数N,显示一个由2N-1行组成的菱形,在这个菱形中,第一行一个#,之后每行比上面一行多两个#,到第N行时#数量最多,N行之后每行比上面一行少两个#直到最后一行只有一个#。注意#的位置必须居中。N的取值范围为[0,100]。
时间: 2023-05-14 15:07:01 浏览: 57
星号,第二行三个星号,第三行五个星号,以此类推,直到第N行,然后再逐渐减少星号,直到最后一行只有一个星号。
以下是程序代码:
#include <stdio.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;
}