经典的字符串,STL处理问题!这个题A了,一般的和字符串有关的题目你还会错吗?
题意:
将一行中的单词一个个的反转过来!还有第一个输入块空着,以后的每个输入块之间空一行!(当时那个郁闷啊!)
样例输入:
1
3
I am happy today
To be or not to be
I want to win the practice contest
样例输出:
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
代码:
#include <string>
#include <algorithm>
#include <iostream>
using namespace std;
int main(int argc,char *argv[])
{
string s,t;
char ss[50];
int N,j;
cin>> N;
cout<<endl;
while(N--)
{
int n;
cin>>n;
cin.get();
while(cin.getline(ss,50))
{
s=ss;int sta=0;
for(int i=0;i<s.length();i++)
{
if(s[i]==' ')
{
reverse(s.begin()+sta,s.begin()+i);
for(j=sta;j<i;j++)
{
t+=s[j];
}
t+=' ';
sta=i+1;
}
else if(i==s.length()-1)
{
reverse(s.begin()+sta,s.begin()+i+1);
for(j=sta;j<=i;j++)
{
t+=s[j];
}
}
}
cout<<t<<endl;
s.clear();
t.clear();
}
cout<<endl;
}
return 0;
}