一、题意
二、解答过程
此类题是排版题,规律性较强的一类。
规律:
每行的空格数
+每行的*个数
=最后一行具有的*个数 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; }