0
已采纳
李瑞曦
高级天翼
高级天翼
核心:
if(s[i-1]==' ' && s[i]!=' ')
p=i;//起始位置
if(s[i+1]==' ' && s[i]!=' '){
a=s.substr(p,i-p+1);//提取单词
for(int j=a.size()-1;j>=0;j--)//倒序输出提取的单词a
cout<<a[j];
}
if(s[i]==' ') //如果是空格就直接输出
cout<<s[i];
//以上代码是在循环里的
李瑞曦在2020-08-08 20:27:11追加了内容
输入s后还要再s的首尾加空格
李瑞曦在2020-08-08 20:31:42追加了内容
思路很简单,是空格就直接输出,遇到单词就先截取再倒序输出
0
0
0
朱子尘
初级光能
初级光能
- //在字符串前面和后面加空格
- s= ;
- //遍历字符串
- for(int i= ;i< ;i++)
- {
- /截取单词
- if(s[]==' '&&s[]!=' ') f=i;
- if(s[]==' '&&s[]!=' '){
- l=i;
- //截取
- string b=s.substr(,);
- //倒序遍历
-
- for(int j=;j>=;j--)
- cout<<b[j];
- }
- //如果是空格,输出
- if(s[i]==' ')
- cout<<" ";
- }
0
康曦
中级光能
中级光能
核心·
string s;
int front=0;
getline(cin,s);
s=' '+s+' ';
for(int i=1;i<s.size();i++){
if(s[i-1]==' '&&s[i]!=' '){
front=i;
}
if(s[i+1]==' '&&s[i]!=' '){
for(int j=front;j<(i-front+1)/2+front;j++)
{
swap(s[j],s[i+front-j]);
}
}
}
s.erase(0,1);
s.erase(s.size()-1,1);
PS:怎么总感觉你们班的答案大部分是我给的(滑稽保命)