```c
include
int main() {
int n;
printf("请输入菱形的行数: ");
scanf("%d", &n);
// 打印上半部分
for (int i = 1; i <= n / 2; i++) {
// 打印空格
for (int j = 1; j <= n / 2 - i; j++) {
printf(" ");
}
// 打印星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
// 打印下半部分
for (int i = n / 2 - 1; i >= 1; i--) {
// 打印空格
for (int j = 1; j <= n / 2 - i; j++) {
printf(" ");
}
// 打印星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
代码解释:
输入行数 :程序首先提示用户输入菱形的行数 `n`。
打印上半部分
外层循环控制行数,从1到`n / 2`。
第一个内层循环打印空格,空格数量为`n / 2 - i`。
第二个内层循环打印星号,星号数量为`2 * i - 1`。
打印下半部分
外层循环控制行数,从`n / 2 - 1`到1。
第一个内层循环打印空格,空格数量为`n / 2 - i`。
第二个内层循环打印星号,星号数量为`2 * i - 1`。
这个程序通过两个嵌套的for循环分别控制行数和列数,打印出对称的星号菱形。你可以根据需要修改行数来调整菱形的大小。