天天看点

CCF-训练50题-NO.19-说反话

题目描述

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入

测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。

输出

每个测试用例的输出占一行,输出倒序后的句子。

样例代码

#include <iostream>
#include <string>
using namespace std;
int main(){
    string san;
    getline(cin,san);
    int l=san.size();
    int pointer=l-;
    int pos=;
    for (int i=l-;i>=;i--){
        if (san[i]==' '){
            pos=i;
            for (int j=pos+;j<=pointer;j++){
                cout<<san[j];
            }
            pointer=pos-;
            cout<<" ";
        }
    }
    for (int k=;k<=pointer;k++) cout<<san[k];
    return ; 
}
           

继续阅读