```c
include
int main() {
int rows, i, j, space;
printf("请输入菱形的行数: ");
scanf("%d", &rows);
space = rows - 1;
// 打印上半部分菱形
for (i = 1; i <= rows; i++) {
for (j = 1; j <= space; j++) {
printf(" "); // 打印空格
}
for (j = 1; j <= 2 * i - 1; j++) {
printf("*"); // 打印星号
}
printf("\n");
space = 1;
}
// 打印下半部分菱形
for (i = 1; i <= rows - 1; i++) {
for (j = 1; j <= space; j++) {
printf(" "); // 打印空格
}
for (j = 1; j <= 2 * (rows - i) - 1; j++) {
printf("*"); // 打印星号
}
printf("\n");
space = 1;
}
return 0;
}
```
代码解释:
输入行数 :程序首先提示用户输入菱形的行数。
初始化空格:
`space` 变量初始化为 `rows - 1`,用于控制每行打印的空格数。
打印上半部分菱形
外层循环控制行数,从1到`rows`。
内层循环首先打印空格,空格数逐渐减少,直到变为1。
接着打印星号,星号数逐渐增加,直到达到 `2 * i - 1`。
打印下半部分菱形
外层循环控制行数,从1到`rows - 1`。
内层循环首先打印空格,空格数逐渐增加,直到变为1。
接着打印星号,星号数逐渐减少,直到达到 `2 * (rows - i) - 1`。
通过这种方式,程序可以根据用户输入的行数打印出相应大小的菱形图案。