给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
#include "stdio.h"
#include "string.h"
int funcz(int x); //查找空格并标记位置
char s1[100],s2[100];
main()
{
int i,j,m=0;
gets(s1);
i=strlen(s1);
for(;i>0;)
{
j=funcz(i); //返回的j为当前的空格位置
if(j!=0)
{
i=j-1;
j=j+1; //i为下次查找空格做准备,j为输出坐标
}
else i=0;
for(;(s1[j]!=' ')&& (s1[j]!='\0');j++)
{
s2[m]=s1[j];
m++;
}
/*
如果不是第一个单词扫描完成加空格
如果是第一个单词扫描完成直接结束
*/
if(((s1[j]=' ')||(s1[j]='\0'))&&(i!=0))
{
s2[m]=' ';
m++;
}
if(((s1[j]=' ')||(s1[j]='\0'))&&(i==0))
{
s2[m]='\0';
}
}
puts(s2);
return 0;
}
int funcz(int x)
{
for(;s1[x]!=' ';x--)
if(x==0)
break;
return x;
}