字符串-07. 说反话-加强版 (20)

字符串-07. 说反话-加强版 (20)

时间限制
200 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard
作者
陈越(浙江大学)

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。

输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。

输入样例:
Hello World   Here I Come
输出样例:
Come I Here World Hello
 
   
#include
//#include
//#include

int main(void)
{
	char str[500000];
	int i=0;
	while((str[i]=getchar())!='\n'){
		i++;
	}
	//printf("i=%d\n%s\n",i,str);
	str[i]='\0';
	
	int j;
	char *p;
	int count=0; 
	for(j=i;j>=0;j--){
		if(str[j]==' ' && str[j+1]!=' ' && str[j+1]!='\0'){
			count++;
			p=str+j;
			if(count>1){
				printf(" ");
			}
			printf("%s",p+1);
			*p='\0';
		}
		if(str[j]==' '){
			str[j]='\0';
		}
	}
	if(count>1){
		printf(" ");
	}
	printf("%s",str);
	printf("\n");  //测试末尾是否有空格 
return 0;
}


你可能感兴趣的:(《C/C++/Java,程序设计基础》习题集)