用数字打印沙漏图案,用c语言,沙漏的层数为输入的数字×2-1,
时间: 2024-10-21 17:06:19 浏览: 20
在C语言中,我们可以利用循环结构和嵌套循环来打印沙漏图案。给定层数通常是输入值乘以2减1,因为沙漏的形状上下宽,中间窄,所以实际画出的部分是输入层数的一倍。下面是一个简单的示例,用于创建指定层数的沙漏:
```c
#include <stdio.h>
void print_sandglass(int num_layers) {
// 上半部分的三角形
for (int i = 0; i <= num_layers * 2 - 1; ++i) {
// 左侧空格的数量
int spaces = num_layers * 2 - i - 1;
// 右侧的星号数量
int stars = i;
// 打印空格和星号
printf("%*s%*d\n", spaces, "", stars, '*');
}
// 下半部分的倒置三角形
for (int i = num_layers * 2 - 2; i >= 0; --i) {
int spaces = num_layers * 2 - i - 1;
int stars = i;
printf("%*s%*d\n", spaces, "", stars, '*');
}
}
int main() {
int num_layers;
printf("请输入沙漏的层数: ");
scanf("%d", &num_layers);
print_sandglass(num_layers);
return 0;
}
```
当你运行这个程序并输入沙漏层数后,它会按照指定的层数打印出一个沙漏形状。
阅读全文