【九度 OJ 06】2.7输出梯形

【九度 OJ 06】2.7输出梯形

一、题意

二、解答过程

此类题是排版题,规律性较强的一类。

规律:

  • 每行的空格数+ 每行的*个数= 最后一行具有的*个数 maxLine

  • 最后一行的星号个数是 h+(h-1)*2个= maxLine

  • 每行的空格数=maxLine-h-(i-1)*2+1

  • j:每行输出的空格数

#include <iostream>

int main() {
    
    
    int h;
    while(scanf("%d",&h)!=EOF)
    {
    
    
        int maxLine=h+(h-1)*2;//计算最后一行包含星号的个数
        for (int i = 1; i <=h ; ++i) 
        {
    
    //依次输出每行信息
            for (int j = 1; j <maxLine ; ++j)
            {
    
    //依次输出每行中的空格和星号
                if(j<maxLine-h-(i-1)*2+1)
                    printf(" ");//输出空格
                else
                    printf("*");//输出星号
            }
            printf("\n");//输出换行
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43891901/article/details/122900167