利用c语言解决TJ6.12 空心梯形【★★★】 【题目描述】 按照指定格式输出图形 【输入】 输入一个正整数n 【输出】 高和上底均为 n 的等腰空心梯形。 例如: 输入 Result 3 *** * * *******
时间: 2024-11-03 07:08:29 浏览: 34
在C语言中,你可以使用嵌套循环来解决这个问题。首先,我们可以创建两个外层循环分别用于打印梯形的顶部和底部。中间部分则需要一个内层循环来控制每个“*”字符的位置。下面是一个简单的程序实现:
```c
#include <stdio.h>
void print_star_trapezoid(int n) {
// 打印顶部
for (int i = 0; i < n; i++) {
printf("*");
}
printf("\n");
// 打印中间部分
for (int i = 1; i < n - 1; i++) {
for (int j = 0; j < n; j++) {
if (i == 0 || i == n - 1 || j == 0 || j == n - 1) { // 边缘位置保留*
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
// 打印底部
for (int i = 0; i < n; i++) {
printf("*");
}
printf("\n");
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
// 检查输入是否有效
if (n <= 0) {
printf("错误!输入的数字必须大于0。\n");
return 0;
}
print_star_trapezoid(n);
return 0;
}
```
在这个程序中,`print_star_trapezoid`函数负责打印梯形。用户输入的`n`值决定了梯形的高度。当运行此程序并输入示例中的3时,它将输出:
```
***
* *
*******
```
阅读全文