POJ 2271 HTML 【模拟题】

传送门
// 按照题意模拟就是了.

说几个坑点.
1: 每一行的末尾不能有空格
2: hr之前的换行要特别注意什么情况, 比如开头就是hr 不换行等.
3: 每次输出word时注意长度大于80了, 算长度是注意加上空格的长度.
4: 最后还要出一个空行.

像这类模拟题, 用string是最方便的, 即读一个输出一个. 记住了!!!

AC Code

string hr = "--------------------------------------------------------------------------------";
void solve()
{
    string s, tmp;
    int flag = 0, cnt = 0, fi = 1;
    while(cin >> s) {
        if (s == "<br>") {
            cout << endl;
            flag = 0;
            fi = 1;
            cnt = 0;
        }
        else if (s == "<hr>") {
            if (flag) cout << endl;
            cout << hr << endl;
            flag = 0;
            fi = 1;
            cnt = 0;
        }
        else {
            flag = 1;
            if (cnt + 1 + s.size() > 80) {
                cout << endl;
                cnt = 0;
                fi = 1;
            }
            cnt += s.size();
            if (fi) {
                cout << s;
                fi = 0;
            }
            else {
                cout << ' ' << s ;
                cnt++;
            }
        }
    }
    cout << endl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值