Inversión de palabras (C ++ Niuke Net)

Ideas de resolución de problemas:

(1) Almacene todas las palabras primero, luego insértelas en orden inverso

#include<iostream>
#include<string>
#include<vector>

using namespace std;

string change(string &s) {
    vector<string> v;
    string str="";
    int i=0;
    while(i<s.length()) {
        if(('a'<=s[i] && s[i]<='z') ||('A'<=s[i] && s[i]<='Z')) {
            while(i<s.length() && (('a'<=s[i] && s[i]<='z') || ('A'<=s[i] && s[i]<='Z'))) {
                str+=s[i++];
            }
            v.push_back(str);
            str="";
        } else i++;
    }
    str="";
    for(int i=v.size()-1;i>=0;i--) {
        str+=v[i];
        str+=" ";
    }
    
    return str.substr(0,str.length()-1);
}

int main() {
    string s;
    while(getline(cin,s)) {
        //cout<<s<<endl;
        cout<<change(s)<<endl;
    }
    return 0;
}

 

Supongo que te gusta

Origin blog.csdn.net/coolsunxu/article/details/114882797
Recomendado
Clasificación