本题要求用c语言编写程序,打印一个高度为n的、由“*”组成的正菱形图案。
时间: 2023-03-20 08:00:53 浏览: 148
以下是用C语言编写程序打印一个高度为n的正菱形图案,其中正菱形的边长为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;
}
```
在程序中,首先要求用户输入正菱形的高度n,然后根据n打印正菱形的上半部分和下半部分。对于打印正菱形的每一行,都需要先打印一定数量的空格,使得正菱形的边缘处对齐。然后打印一定数量的星号,最后换行。上半部分正菱形的星号数量从1逐渐增加到2n-1,下半部分正菱形的星号数量从2n-3逐渐减少到1。