在C语言中,输出菱形可以通过嵌套循环来实现。以下是一个简单的示例代码,用于输出指定行数的菱形:
```c
include
int main() {
int n;
printf("请输入菱形的行数(奇数):");
scanf("%d", &n);
// 确保输入的是奇数
if (n <= 0 || n % 2 == 0) {
printf("行数必须是奇数。\n");
return 1;
}
// 输出上半部分菱形
for (int i = 1; i <= n / 2; i++) {
// 输出空格
for (int j = 1; j <= n / 2 - i; j++) {
printf(" ");
}
// 输出星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
// 输出下半部分菱形
for (int i = n / 2; i >= 1; i--) {
// 输出空格
for (int j = 1; j <= n / 2 - i; j++) {
printf(" ");
}
// 输出星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
代码解释:
输入行数 :程序首先提示用户输入菱形的行数,并读取用户输入的整数`n`。奇数检查:
程序检查输入的行数是否为奇数,如果不是奇数,则输出错误信息并退出。
输出上半部分菱形
使用一个外层循环控制行数,从1到`n / 2`。
内层循环分别输出空格和星号,空格的数量从`n / 2 - i`到0,星号的数量从1到`2 * i - 1`。
输出下半部分菱形
使用一个外层循环控制行数,从`n / 2`到1。
内层循环分别输出空格和星号,空格的数量从0到`n / 2 - i`,星号的数量从1到`2 * i - 1`。
通过这种方式,程序可以生成一个对称的菱形图案。你可以根据需要调整行数`n`的值来改变菱形的大小。