本题目要求将输入字符串翻转
输入格式:
输入一行字符串,所有内容保持相对位置,将单词翻转。字符串总长度未知,单词数量未知,每个单词不超过20个字母。测试数据保证输入的字符只含英文字母和空格。
输出格式:
进行翻转操作后的字符串,因出题人老懒鬼,末尾记得带空格哦(bushi
样例">样例">样例">输入样例:
hello world
输出样例:
olleh dlrow
提供一个思路
#include<stdio.h>
#include<string.h>
int main()
{
char a[100];
gets(a);
int t=0,m=0,i=0,j=1;
int c=strlen(a);
a[c]=' ';//在末尾将'\0'改成' '。
for(;i<c;)
{
//探索第一个单词在数组的位数t
while(a[i]!=' ')
{
t++;
i++;
if(a[i]=='\0')
break;
// printf("as ");
}
//根据t确定单词末尾空格的个数。
for(int k=t;k>=m;k--)
{
if(j==1)
{
k--;
j=0;
}
printf("%c",a[k]);
// printf("[%d%c]",k,a[k]);
}
// printf(" ");
i++;
t++;
m=i;
if(a[i]=='\0')
break;
}
printf(" \n");
return 0;
}
//olleh dlrow
//ymemansignayoaixouh
//hello world