反转单词
时间限制: 1 Sec 内存限制: 32 MB
提交: 22 解决: 6
您该题的状态:已完成
[提交][状态][讨论版]
题目描述
将输入中每个反转的单词还原。
输入
输入包含多组测试样例。第一行为一个整数T,代表测试样例的数量,后面跟着T个测试样例。
每个测试样例占一行,包含多个单词。一行最多有1000个字符。
输出
对于每一个测试样例,你应该输出转换后的文本。
样例输入
2
i evol !anihC
olleh !dlrow
样例输出
i love China!
hello world!
#include <stdio.h>
#include <string.h>
int main()
{
int t;
scanf("%d",&t);
getchar(); //吸收 换行符
while(t--)
{
char c[1000];
gets(c);
for(int i=0;i<=strlen(c);i++)
{
if(c[i]==' ' || c[i]=='\0') //遇见空格或结束符,倒序输出单词
{
int j=i-1;
while(j!=-1 && c[j]!=' ') //这里是&& 而不是|| ,遇见空格或下标为-1 ,一个单词输出结束
{
printf("%c",c[j]);
j--;
}
if(i==strlen(c)) //全部单词已经输出,换行
printf("\n");
else
printf(" ");
}
}
}
return 0;
}