例如输入 I am a student,则输出 student a am I(C语言实现) 5

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号。例如输入Iamastudent,则输出student... 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号。
例如输入 I am a student,则输出 student a am I(C语言实现)
展开
 我来答
阳光的雷咩咩
2016-06-18 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7837万
展开全部

写死我了,还好运行正确,可以兼容多个空格。

void ReverseWords(char *s)
{
char *p;
char *q;
char *t;
q = s;
while(*q++);
p = q;
while(1)
{
while(p != s && *--p != ' ');
t = p++;

while(p != q)
printf("%c",*p++);

q = t;

while(q != s && *q == ' ')
{
q--;
printf(" ");
}

if(q == s)
{
while(s != t)
printf("%c",*s++);
break;
}
p = q++;
}
}
int main()

char *s = "I am a student";
ReverseWords(s);
getchar();
return 0;
}
来自:求助得到的回答
阿银和神乐柑桔
2016-06-17 · TA获得超过283个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:194万
展开全部
初学者应该是这样编写
#include<stdio.h>
main()
{
char str[1000000];
gets(str);
puts(str);
}
如果是循环输出,应该是这样的。
#include<stdio.h>
#include<string.h>
main()
{
char str[1000000];
while(gets(str))
puts(str);
}
追问
大哥 你看清楚题目了吗  是翻转输出哦!!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式