c语言函数数字空心金字塔
时间: 2023-05-19 20:07:00 浏览: 152
以下是一个 C 语言函数,可以打印出数字空心金字塔:
```
void printHollowPyramid(int n) {
int i, j, k;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
printf("%d", i);
for (k = 1; k < 2 * i - 2; k++) {
printf(" ");
}
if (i > 1) {
printf("%d", i);
}
printf("\n");
}
}
```
你可以调用这个函数并传入一个数字参数,比如 `printHollowPyramid(5)` 就可以打印出一个高度为 5 的数字空心金字塔。
相关问题
c语言函数输出空心金字塔
以下是 C 语言函数输出空心金字塔的代码:
```c
#include <stdio.h>
void printHollowPyramid(int n) {
int i, j, k;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (k = 1; k <= 2 * i - 1; k++) {
if (i == n || k == 1 || k == 2 * i - 1) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
}
int main() {
int n;
printf("请输入金字塔的层数:");
scanf("%d", &n);
printHollowPyramid(n);
return 0;
}
```
输入金字塔的层数,即可输出空心金字塔。
注意:这个函数只是输出空心金字塔,如果需要实现其他功能,需要进行相应的修改。
用C语言并调用函数编写空心金字塔
在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`变量即可。
阅读全文