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;
}

posted @ 2022-01-18 22:30  Jane8  阅读(39)  评论(0)    收藏  举报