用数字打印沙漏图案,用c语言实现,输入数字表示沙漏上半部分和下半部分的层数
时间: 2024-10-21 10:06:19 浏览: 46
在C语言中,我们可以使用嵌套循环以及printf函数来绘制沙漏图案。沙漏图案通常由两个三角形组成,上半部分是倒置的,下半部分是正常的。给定一个数字n作为层数,我们可以在每一层打印出相应的字符来形成金字塔形状。
以下是一个简单的示例,用于绘制上半部和下半部各为n层的沙漏:
```c
#include <stdio.h>
void print_top(int n) {
for (int i = n; i >= 1; i--) {
printf("*");
if (i > 1)
printf("%*s", n - i, "");
else
printf("\n");
}
}
void print_bottom(int n) {
for (int i = 1; i <= n; i++) {
printf(" ");
for (int j = 1; j <= n - i; j++)
printf("*");
printf("\n");
}
}
void print_sandglass(int top_layers, int bottom_layers) {
print_top(top_layers);
printf("\n");
print_bottom(bottom_layers);
}
int main() {
int num_layers;
printf("请输入沙漏上半部分和下半部分的层数:");
scanf("%d", &num_layers);
print_sandglass(num_layers / 2, num_layers); // 假设你想要两侧对称,所以平分层数
return 0;
}
```
当你运行这个程序并输入层数时,它会按照指示生成沙漏的图案。需要注意的是,这里假设了用户希望沙漏是对称的,如果不对称的需求,可以根据需要调整`print_sandglass`函数的参数传递。
阅读全文