用c语言,打印由相同△构成的含相同大小三角形空隙的圣诞树
时间: 2024-09-30 11:09:16 浏览: 19
在C语言中,你可以使用嵌套循环和字符数组来打印出这种圣诞树形状。以下是一个简单的示例,展示如何打印包含相同大小三角形空隙的圣诞树:
```c
#include <stdio.h>
#include <string.h>
void print_star_tree(int height) {
// 定义一个足够大的字符串数组存储字符
char stars[height * (height + 1) / 2];
// 初始化第一行,全为'*'
int i;
for(i = 0; i <= height; i++) {
stars[i] = '*';
}
// 打印中间部分
int j;
for(int level = 2; level <= height; level++) {
int spaces = height - level;
for(j = 1; j < spaces + 1; j++) {
printf(" ");
}
int star_count = (level << 1) - 1; // 每层星星的数量
for(j = 0; j < star_count; j++) {
printf("*");
}
printf("\n");
}
// 打印底部一行,全是'*'
for(i = 0; i <= height; i++) {
printf("*\n");
}
}
int main() {
int tree_height;
printf("Enter the height of the Christmas tree: ");
scanf("%d", &tree_height);
print_star_tree(tree_height);
return 0;
}
```
这个程序首先初始化一个足够长的字符数组,然后打印顶部和底部的星号,中间部分则是逐渐递减的星号数和相应的空格,形成圣诞树的形状。用户可以输入想要的树的高度。
阅读全文