从键盘输入一个字符串,包含很多个单词。每个单词之间以1个或多个空格隔开。要求翻转每个单词,但是单词在句子中的顺序不变。注意行前和行后可能有多个空格。
输入格式:
一个字符串,包含很多个单词。每个单词之间以1个或多个空格隔开。要求翻转每个单词,但是单词在句子中的顺序不变。注意行前和行后可能有多个空格。字符串总长度不超过1000,单词数不超过50,每个单词不超过20个字母。测试数据保证输入的字符只含英文字母和空格。
输出格式:
输出翻转后的字符串。每个单词之后输出一个空格。注意行前不能有多余的空格。行末只能有1个空格。
样例1">输入样例1:
olleH dlroW
输出样例1:
Hello World
输入样例2:
I ma a tneduts
输出样例2:
I am a student
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char ch[999];
gets(ch);
int len = strlen(ch), k = 0, i, j, flag1 = 0, flag2 = 0;
ch[len] = ' ';
while (k <= len)
{
if (ch[k] != ' ' && flag1 == 0)
{
i = k;
flag1 = 1;
}
if (ch[k] == ' ' && flag2 == 0 && flag1 == 1)
{
flag2 = 1;
j = k - 1;
}
if (flag1 == 1 && flag2 == 1)
{
flag1 = 0;
flag2 = 0;
for (; j >= i; j--)
printf("%c", ch[j]);
printf(" ");
}
k++;
}
return 0;
}