要编写一个菱形的程序,你需要使用嵌套循环来分别绘制菱形的上半部分和下半部分。以下是一个简单的示例代码,使用C语言实现:
```c
include
int main() {
int rows, i, j, space;
printf("Enter number of rows: ");
scanf("%d", &rows);
// 上半部分菱形
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;
}
```
代码解释:
输入行数 :首先,程序要求用户输入菱形的行数。
上半部分菱形
外层循环 `for (i = 1; i <= rows; i++)` 控制上半部分的行数。
第一个内层循环 `for (space = 1; space <= rows - i; space++)` 打印每行开始的空格数。
第二个内层循环 `for (j = 1; j <= 2 * i - 1; j++)` 打印每行的星号数。
下半部分菱形
外层循环 `for (i = rows - 1; i >= 1; i--)` 控制下半部分的行数。
第一个内层循环 `for (space = 1; space <= rows - i; space++)` 打印每行开始的空格数。
第二个内层循环 `for (j = 1; j <= 2 * i - 1; j++)` 打印每行的星号数。
建议:
确保输入的行数是奇数,以便菱形的对称性。
可以根据需要调整代码,以适应不同的编程语言和输出格式。