问题标题: 酷町堂:进来再说

0
0
已解决
李素妍
李素妍
新手天翼
新手天翼

我豁出去了

1140找错

#include <iostream>
#include <string>
using namespace std;
string f(string n){
    string a;
    for(int i=n.size()-1;i>0;i--)a+=n[i];
    return a;
}
int main(){
    string s,b;
    int cnt=0;
    getline(cin,s);
    s=" "+s+" ";
    for(int i=0;i<s.size();i++){
        if(s[i]!=' ')b+=s[i];
        else{
           cout<<f(b);
           b="";
        }
    }
    return 0;
}

李素妍在2020-08-08 17:18:21追加了内容

@宣海宁 

#include <iostream>
#include <string>
using namespace std;
int  front;
int main(){
    string s,b;
    int cnt=0;
    getline(cin,s);
    s=" "+s+" ";
    for(int i=0;i<s.size();i++){
          if(s[i-1]==' ' && s[i]!=' ') front=i;
          if(s[i+1]==' ' && s[i]!=' '){
           b=s.substr(front,i-front+1);
            for(int j=b.size()-1;j>=0;j--)
                cout<<b[j];
            }
           if(s[i]==' ') cout<<s[i];
    }
    return 0;
}


0
已采纳
宣海宁
宣海宁
中级光能
中级光能

你学过字符串截取吗?!

宣海宁在2020-08-08 17:15:41追加了内容
  • if(s[i-1]==' ' && s[i]!=' ')
  • front=i;
  • if(s[i+1]==' ' && s[i]!=' ')
  • {
  • top=s.substr(front,i-front+1);
  • for(int j=top.size()-1;j>=0;j--)
  • cout<<top[j];
  • }
  • if(s[i]==' ')
  • cout<<s[i];
0
陈喆鹏
陈喆鹏
资深光能
资深光能

不应该是while(cin>>s)吗

这样方便点

我要回答