在C语言中,输出菱形可以通过嵌套循环来实现。以下是一个简单的示例代码,用于输出一个边长为5的菱形:
```c
include
int main() {
int n = 5;
int i, j, k;
// 输出上半部分菱形
for (i = 1; i <= (n + 1) / 2; i++) {
// 输出空格
for (j = 1; j <= (n + 1) / 2 - i; j++) {
printf(" ");
}
// 输出星号
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
// 换行
printf("\n");
}
// 输出下半部分菱形
for (i = 1; i <= n / 2; i++) {
// 输出空格
for (j = 1; j <= i; j++) {
printf(" ");
}
// 输出星号
for (j = 1; j <= 2 * (n - i) - 1; j++) {
printf("*");
}
// 换行
printf("\n");
}
return 0;
}
```
代码解释:
上半部分菱形输出
外层循环 `for (i = 1; i <= (n + 1) / 2; i++)` 控制行数,从1到菱形的上半部分行数。
第一个内层循环 `for (j = 1; j <= (n + 1) / 2 - i; j++)` 输出空格,使星号居中。
第二个内层循环 `for (j = 1; j <= 2 * i - 1; j++)` 输出星号。
下半部分菱形输出
外层循环 `for (i = 1; i <= n / 2; i++)` 控制行数,从1到菱形的下半部分行数。
第一个内层循环 `for (j = 1; j <= i; j++)` 输出空格,使星号居中。
第二个内层循环 `for (j = 1; j <= 2 * (n - i) - 1; j++)` 输出星号。
示例输出:
```
*
*
*
*
*
*
*
```
通过调整 `n` 的值,可以输出不同大小的菱形。这个示例代码适用于边长为奇数的菱形,如果需要输出边长为偶数的菱形,可以在输出时进行相应的调整。