HDOJ 1062:字符串翻转问题

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1062

一、题目要求

现有若干行输入,每行输入都有若干个字符串,每个字符串中间都间隔了若干个空格

读入这些输入后,将其按原有格式输出(即空格与回车字符位置不变),但每个字符串都要被翻转

二、题目代码

#include<iostream>

using namespace std;

int main()
{
    int count;   //文字行数
    int curr;    //用于遍历读入的一行文字
    string s;    //读取的一行文字
    string temp; //临时存储一小段连续的不含空格的文字

    cin >> count;
    getchar(); //读取count后面的'\n'
    while(count--)
    {
        getline(cin, s);
        
        temp = "";
        for(curr = 0; curr < s.length(); curr++)
        {
            //读入到最后一个字符,输出最后一个字符串的翻转
            if(curr == s.length() - 1 && s[curr] != ' ')
            {
                temp = s[curr] + temp;
                cout << temp;
            }
            //读入到空格后,输出上一个字符串的翻转
            else if(s[curr] == ' ')
            {
                cout << temp << " ";
                temp = "";
            }
            //读入到空格外的其他字符,把字符添加到临时字符串的前面
            else
            {
                temp = s[curr] + temp;
            }
        }
        cout << endl;
    }

    return 0;
}

三、运行结果

红色箭头所指处为按要求翻转后的上一行输入字符串

230535_wrpm_1425762.png

END

转载于:https://my.oschina.net/Tsybius2014/blog/299638

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值