愿你坚持不懈,努力进步,进阶成自己理想的人

—— 2017.09, 写给3年后的自己

PAT-课后练习2-(F)输入输出

可爱的直角梯形。
输入上底和下底的长度(大于1,小于20的正整数)和用来绘梯形的字符,当上底与下底相等时,输出“NO”,并结束;否则输出直角梯形(直角梯形的高为上下底长度之差的绝对值+1),并处理下一条输入。
输入格式:
每行输入三个元素,第1个和第2个为上下底的长度,第3个为用来绘梯形的字符。
输出格式:
输出如样例所示之直角梯形。

输入样例
2 5 #
2 3 A
4 2 B
2 2 $

输出样例

AA
AAA
BBBB
BBB
BB
NO

这题也是水题,之前一开始没好好看题目,没注意到NO之后就要结束程序,结果PR了了一次。
然后以下是AC的代码:

#include <iostream>
using namespace std;
int main() {
    int up,down,i,j;
    char ch;
    while(cin >> up >> down >> ch) {
        if(up==down) {
            cout << "NO" << endl;
            break;
        }
        if(up<down) {
            for(i=up;i<=down;i++) {
                for(j=0;j<i;j++) cout << ch;
                cout << endl;
            }
        } else {
            for(i=up;i>=down;i--) {
                for(j=0;j<i;j++) cout << ch;
                cout << endl;
            }
        }
    }
    return 0;
}