用C语言并调用函数编写空心金字塔
时间: 2024-12-16 20:14:05 浏览: 20
在C语言中,我们可以使用循环结构来绘制空心金字塔。这里是一个简单的示例,我们将创建一个递归函数来打印空心金字塔。这个函数会接受两个参数:层数(n)和每个级别使用的星号数量(spaces)。`spaces`决定了金字塔的宽度,而`n`表示要打印多少层。
```c
#include <stdio.h>
// 打印空格的函数
void print_spaces(int spaces) {
for (int i = 0; i < spaces; i++) {
printf(" ");
}
}
// 打印星号的函数
void print_stars(int stars) {
for (int i = 0; i < stars; i++) {
printf("*");
}
}
// 打印空心金字塔
void draw_pyramid(int n, int spaces) {
if (n <= 0) {
return;
}
// 基础情况:第一行只有一个*,其他都是空格
print_spaces(spaces - 1);
print_stars(1);
print_spaces(spaces - 1);
printf("\n");
// 递归情况:每一层都比上一层少一个星号和一个空间
draw_pyramid(n - 1, spaces - 2);
}
int main() {
int pyramid_height = 5; // 设置金字塔的高度
draw_pyramid(pyramid_height, pyramid_height); // 开始绘制
return 0;
}
```
当你运行这段代码时,它会输出一个5层的空心金字塔。如果你想改变金字塔的高度,只需要修改`main`函数中的`pyramid_height`变量即可。
阅读全文