用C语言以*为基础,根据输入的行数绘制沙漏图形
时间: 2024-10-08 13:22:34 浏览: 36
在C语言中,我们可以利用字符数组和循环结构来根据用户输入的行数绘制简单的沙漏图形,通常也称为" hourglass "图案。下面是一个基础的示例,假设我们只考虑竖直方向的沙漏:
```c
#include <stdio.h>
void draw_hourglass(int rows) {
int i, j;
// 上半部分填充 *
for (i = 0; i < rows / 2 + 1; i++) {
for (j = 0; j <= rows - i * 2; j++) {
printf(" ");
}
for (j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
// 下半部分翻转 *
for (i = rows / 2; i > 0; i--) {
for (j = 0; j <= rows - i * 2; j++) {
printf(" ");
}
for (j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
}
int main() {
int rows;
printf("请输入沙漏的行数:");
scanf("%d", &rows);
draw_hourglass(rows);
return 0;
}
```
在这个程序中,`draw_hourglass()`函数接受一个整数参数,代表沙漏的行数。上半部分从顶到中间画一个倒三角形,下半部分则从底向上画一个正三角形。
阅读全文