hdu 1062 Text Reverse 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1062
题目简单易懂,单看输入输出即可。
要注意中间有空格,选好的储存结构/输出方法。
以下是代码:
#include<stdio.h>
#include<string.h>
int main()
{
int t;
scanf("%d\n",&t);
while(t--)
{
char s[1005];
while(scanf("%[^ \n]",s)!=EOF)
{
printf("%s",strrev(s));
s[0]=0;
putchar(getchar());
}
}
return 0;
}
PS:刚接触ACM时做过,重温时学习了大神的优质代码。输入那一句很神~
PPS:判断一个OJ好坏的一大标准应该是它能否认得出来strrev()函数,这次自觉复习了一下c++迭代器。
code again:
#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int t,i,s,e;
string c;
string::iterator iter1,iter2;
cin>>t;
getchar();
while(t--)
{
getline(cin,c,'\n');
iter1=iter2=c.begin();
for(;iter2<c.end();iter2++)
{
if(*iter2==' ')
{
reverse(iter1,iter2);
while(*iter2==' '&&iter2<c.end())iter2++;
iter1=iter2;
}
}
reverse(iter1,c.end());
cout<<c<<endl;
}
return 0;
}