2022-1-18 每日一题 输出梯形
题目描述:
输出梯形
输入一个高度h,输出一个高为h,上底边为h的梯形。
输入:
一个整数h(1<=h<=1000)。
输出:
h所对应的梯形。
样例1:
输入:
4
输出:
解题思路:
模拟类题型
着重观察样例的图形规律,高度为h,上底为h,每一行比上一行多2个*,所以下底为h+2*(h-1)。使用两重循环,遍历h行l列,且每一行比上一行少2个空格,分别输出每行的空格和*即可。
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j, h;
while(scanf("%d", &h) != EOF){
int u, l, b;//上底、下底、空格blank
u = h;
l = u + 2 * (h-1);
b = l - u;
for(i = 0; i < h; ++i){
for(j = 1; j <= l; ++j){
if(j <= b){
printf(" ");
}
else{
printf("*");
}
}
b -= 2;
printf("\n");
}
}
return 0;
}