输入n,打印一个上底为n,高为n/2的用*组成的等腰梯形 用c语言写代码
时间: 2023-05-24 12:04:50 浏览: 95
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int h = n / 2; // 计算高度
for(int i = 1; i <= h; i++) { // 打印上半部分
for(int j = 1; j <= n - i; j++) {
printf(" ");
}
for(int j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
for(int i = 1; i <= h; i++) { // 打印下半部分
for(int j = 1; j <= i; j++) {
printf(" ");
}
for(int j = 1; j <= n - 2 * i; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
相关问题
小雏鸟发现,可以用小石子摆出各种各样的图形。 比如今天它在悬崖边玩得时候,用小石子摆了个等腰梯形。 **** ****** ******** ********** 请你写个程序,给定输入高度h,用星号打印一个高为h,上底边长为h 的等腰梯形的C语言代码
在C语言中,我们可以利用嵌套循环来创建等腰梯形的图案。以下是一个简单的程序,它接受用户输入的高度(h),然后打印对应的等腰梯形:
```c
#include <stdio.h>
void print_isosceles_trapezoid(int h) {
int i, j;
// 上半部分:星号从中间开始向两边递减
for (i = 0; i <= h / 2; i++) {
printf("*");
for (j = h - i; j > 0; j--) {
printf(" ");
}
printf("*\n");
}
// 下半部分:星号从顶部开始逐渐增加,保持宽度等于上半部分的总宽度
for (i = 1; i <= h / 2; i++) {
printf("*");
for (j = 2 * i - 1; j > 0; j--) {
printf(" ");
}
printf("*\n");
}
}
int main() {
int height;
printf("请输入梯形的高度(h): ");
scanf("%d", &height);
if (height > 0) {
print_isosceles_trapezoid(height);
} else {
printf("高度必须大于零。\n");
}
return 0;
}
```
运行这个程序,当输入一个正值时,将会得到一个指定高度的等腰梯形。如果输入非正数,则会显示一条错误消息。
已知梯形上底为a,下底为b,高为h,C语言编程梯形面积
在C语言中计算梯形面积,你可以使用下面的公式:梯形面积 = (上底 + 下底) * 高 / 2。以下是一个简单的C程序示例:
```c
#include <stdio.h>
// 函数声明计算梯形面积
double calculate_trapezoid_area(double a, double b, double h) {
return (a + b) * h / 2;
}
int main() {
// 输入梯形的上底、下底和高
double upper_base, lower_base, height;
printf("请输入梯形的上底(a):");
scanf("%lf", &upper_base);
printf("请输入梯形的下底(b):");
scanf("%lf", &lower_base);
printf("请输入梯形的高(h):");
scanf("%lf", &height);
// 计算并打印面积
double area = calculate_trapezoid_area(upper_base, lower_base, height);
printf("梯形的面积是:%.2f\n", area);
return 0;
}
```
在这个程序中,`calculate_trapezoid_area`函数接受上底 `a`,下底 `b` 和高 `h` 的值作为参数,并返回梯形的面积。在`main`函数里,用户会被提示输入这三边的长度,然后程序会计算并显示结果。
阅读全文