```c
include
int main() {
int n;
printf("请输入菱形的行数: ");
scanf("%d", &n);
// 输出上半部分菱形
for (int i = 1; i <= n; i++) {
// 输出空格
for (int j = 1; j <= n - i; j++) {
printf(" ");
}
// 输出星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
// 输出下半部分菱形
for (int i = n - 1; i >= 1; i--) {
// 输出空格
for (int j = 1; j <= n - i; j++) {
printf(" ");
}
// 输出星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
这个程序首先要求用户输入菱形的行数,然后使用两个嵌套循环来控制空格和星号的输出,以绘制菱形。第一个循环用于输出上半部分的菱形,第二个循环用于输出下半部分。程序会根据用户输入的行数绘制相应大小的菱形。