题目传送门:
http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=1§ionid=2&problemid=5
本题策略是使用一个字符数组来保存一行的所有字符,然后倒序输出即可。
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
//HDU Text Reverse 题解
int main(){
int T=0;
scanf("%d",&T);
getchar(); //记得读取回车
char oneline[1000];
while(T--){
gets(oneline); //处理某一行,规则是设立标记位,然后判断空格,将读取的一个单词倒序输出
int begin=0,end=0;
int i=0;
int len=strlen(oneline);
while(i<=len){
while(oneline[i]!=' ' && oneline[i]!='\0'){
i++;
};
end=i-1;
for(int j=end;j>=begin;j--)
printf("%c",oneline[j]);
if(oneline[i]==' ')
printf("%c",' ');
begin=i+1;
i++;
}
printf("\n");
}
return 0;
}