【九度 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;
}