C语言用星号打印菱形边缘两圈,中间空白部分用空格表示
时间: 2024-10-10 19:06:37 浏览: 33
在C语言中,可以使用嵌套循环和控制字符打印出菱形边缘两圈的图案,中间的部分通过空格填充。下面是一个简单的例子,假设菱形宽度为n:
```c
#include <stdio.h>
void print_diamond(int n) {
// 上半部分
for (int i = 0; i <= n; i++) {
// 边缘的星号
if (i == 0 || i == n) {
printf("*");
} else {
// 中间的空格
printf(" ");
}
// 每行打印n-i+1个星号
for (int j = 0; j < n - i + 1; j++) {
printf("*");
}
// 换行
printf("\n");
}
// 下半部分反转
int reversed_n = n * 2 - 2;
for (int i = n - 1; i >= 0; i--) {
// 边缘的星号
if (i == n / 2 || i == reversed_n / 2) {
printf("*");
} else {
printf(" ");
}
// 每行打印reversed_n-i+1个星号
for (int j = 0; j < reversed_n - i + 1; j++) {
printf("*");
}
// 换行
printf("\n");
}
}
int main() {
int size = 5; // 要求的菱形大小
print_diamond(size);
return 0;
}
```
当你运行这个程序,它会打印出边长为size的菱形。
阅读全文