如何用C语言编程实现生成一个指定行数n的空心菱形?
时间: 2024-12-02 14:16:33 浏览: 30
在C语言中,可以使用嵌套循环结构来实现空心菱形的打印。这里是一个基本的示例,用于生成一个n行的空心菱形:
```c
#include <stdio.h>
void print_hollow_diamond(int n) {
int space = n - 1; // 空白字符的数量
for (int i = 0; i < n; i++) {
// 上半部分: 菱形的顶点和两侧的空格
for (int j = 0; j < space; j++) {
printf(" ");
}
if (i <= space) { // 打印顶点和下边缘的星号
for (int k = 0; k <= i * 2; k++) {
printf("*");
}
} else { // 下半部分: 只有内侧星号
for (int k = 0; k < (n - i - 1) * 2 + 1; k++) {
printf("*");
}
}
printf("\n");
// 每向下一行,空间减一,顶点增加一对
space--;
if (i > space) {
space += 2;
}
}
}
int main() {
int n = 5; // 设置想要的菱形行数
print_hollow_diamond(n);
return 0;
}
```
在这个例子中,`print_hollow_diamond`函数接收一个整数参数n,表示菱形的行数。通过调整内部循环的次数和边界条件,我们可以得到不同大小的空心菱形。
阅读全文