```c
include
int main() {
int rows, i, j, space;
printf("请输入菱形的行数: ");
scanf("%d", &rows);
space = rows - 1;
// 打印上半部分菱形
for (i = 1; i <= rows; i++) {
// 打印空格
for (space = 1; space <= rows - i; space++) {
printf(" ");
}
// 打印星号
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
// 打印下半部分菱形
for (i = rows - 1; i >= 1; i--) {
// 打印空格
for (space = 1; space <= rows - i; space++) {
printf(" ");
}
// 打印星号
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
代码解释:
输入行数 :首先,程序会提示用户输入菱形的行数,并使用`scanf`函数读取用户输入的值。
打印上半部分菱形
外层循环控制行数,从1到`rows`。
第一个内层循环打印每行开头的空格,空格的数量等于`rows - i`。
第二个内层循环打印每行的星号,星号的数量等于`2 * i - 1`。
打印下半部分菱形
外层循环从`rows - 1`到1,控制行数。
第一个内层循环打印每行开头的空格,空格的数量同样等于`rows - i`。
第二个内层循环打印每行的星号,星号的数量等于`2 * i - 1`。
通过这种方式,程序能够动态地根据用户输入的行数打印出完整的菱形图案。