0
已解决
王鑫烨
中级光能
中级光能
1141 字符串倒转2经验值:0
题目描述 Description
读入一行英文,只包含字母和空格,单词间以单个空格分隔,将所有单词的顺序倒排并输出,依然以单个空格分隔。
输入描述 Input Description
输入为一个字符串(字符串长度至多为100)。
输出描述 Output Description
输出为按要求排序后的字符串。
样例输入 Sample Input
All things in their being are good for something
样例输出 Sample Output
something for good are being their in things All
错误代码:
#include <iostream>
#include <string>
using namespace std;
string a[111];
int main(){
int i=0;
while(cin>>a[i]){
i++;
}
for(int j=i-1;j>=1;j--){
cout<<a[j]<<' ';
}
return 0;
}
1
已采纳
陈振轩
高级光能
高级光能
for(int i=0; i<str.size(); i++){
if(str[i]==' '){
Str[k++]=str.substr(Index, CNT);
Index=i;
CNT=0;
}
CNT++;
}
核心↑
之后写一个for k-1~0,里面套一个删除空格的函数输出Str[i]和一个空格即可AC
把一串英文当做字符串输入
用for把这个字符串分成n个数组
倒叙输出数组
思路↑
陈振轩在2020-08-26 16:40:35追加了内容
string DeleteSpace(string s){
for(int i=0; i<s.size(); i++)
if(s[i]==' ')
s.erase(i, 1);
return s;
}
1
0
0
李秉轩
修练者
修练者
- string s;
- int last;
- int main(){
- getline(cin,s);
- s=" "+s+" ";
- for(int i=s.size()-2;i>=1;i--){
- if(s[i]!=' '&&s[i+1]==' ')last=i;
- if(s[i]!=' '&&s[i-1]==' '){
- string tmp=s.substr(i,last-i+1);
- cout<<tmp<<' ';
- }
- }
- return 0;
- }
0
0
0
0