您的位置:首页 > 其它

5-32 说反话-加强版 (20分)

2016-07-30 09:46 316 查看
5-32 说反话-加强版 (20分)

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

输入格式:

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

输出格式:

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

输入样例:

Hello World   Here I Come

输出样例:

Come I Here World Hello

//
#include <stdio.h>
#include <stdlib.h>
#include"string.h"
int main()
{
int flag=0,n,count=0;
char *ch;
ch=(char *)malloc(500001*sizeof(ch));/*通过malloc把较大的数组放到堆区,防止爆栈*/
gets(ch);
n=strlen(ch)-1;
while(n)
{
if(ch
!=' ')
count++;

else
{

ch
='\0';
if(count)
{
if(flag)
putchar(' ');
printf("%s",ch+n+1);
count=0;
flag=1;
}

}

n--;

}
if(flag&&count)
putchar(' ');
if(count)
printf("%s",ch);
putchar('\n');

return 0;
}

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: