四 排版题
此类题目,不再把注意力放到处理输入数据当中,而对输出作特别的关注。
题目描述:
输入一个高度h,输出一个高为h,上底边为h的梯形。
输入:
一个整数h(1<=h<=1000)
输出:
h所对应的梯形
样例输入:
4
样例输出:
****
******
********
**********
解题思路: 这种明显可以看出,直接通过对输出的控制即可完成排版.本题思路,按行输出,最后一行没有空格,且前面的字符长度与最后一行一致,先算出最后一行的字符个数,即每一行的列数.每一行的字符个数递增2,空格个数也就递减2.按此规律进行输出.
#include<bits/stdc++.h>
using namespace std;
int main()
{
int h;
while(scanf("%d", &h)!=EOF){
int max_Line = h + (h-1)*2;
for(int i=1; i<=h; i++){
for(int j=0; j<max_Line; j++){
if(j<max_Line-h-(i-1)*2)//输出空格
cout << " ";
else cout << "*";
}
cout << endl;
}
}
return 0;
}