33,028
社区成员
发帖
与我相关
我的任务
分享#include<iostream>
#include<string>
using namespace std;
int main(){
int m;
unsigned int n;
cin>>m;
cin.ignore();
for(int j=0; j<m; j++){
string s,t,l;
getline(cin, s);
n=s.size();
for(int i=0; i<n; i++){
if(i==n-1){
t=s[i]+t;
l+=t;
}
else if(s[i]!=' ') t=s[i]+t;
else{
t+=s[i];
l+=t;
t.clear();
}
}
cout<<l<<endl;
//if(j!=m-1) cout<<endl;//最后一行不换行也不行.
}
return 0;
}
//可能是空格个数的问题,我是原地翻转并AC的
#include<iostream>
#include<string>
using namespace std;
int main(){
int m;
unsigned int n;
cin>>m;
cin.ignore();
for(int j=0; j<m; j++){
string s,t,l;
getline(cin, s);
n=s.length();
for (int i = 0, j = 0;;)
{
while (i < n && s[i] == ' ') ++i;
if (i == n) break;
j = i;
while (j < n && s[j] != ' ') ++j;
for (int x = i, y = j - 1; x < y; swap(s[x++], s[y--]));
i = j;
}
cout<<s<<endl;
}
return 0;
}