HDOJ 1062:字符串翻轉問題

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

1、題目要求ios

現有若干行輸入,每行輸入都有若干個字符串,每一個字符串中間都間隔了若干個空格spa

讀入這些輸入後,將其按原有格式輸出(即空格與回車字符位置不變),但每一個字符串都要被翻轉
code

2、題目代碼ci

#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;
}

3、運行結果字符串

紅色箭頭所指處爲按要求翻轉後的上一行輸入字符串
get

ENDstring

相關文章
相關標籤/搜索