例如输入 I am a student,则输出 student a am I(C语言实现) 5
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号。例如输入Iamastudent,则输出student...
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号。
例如输入 I am a student,则输出 student a am I(C语言实现) 展开
例如输入 I am a student,则输出 student a am I(C语言实现) 展开
2个回答
展开全部
写死我了,还好运行正确,可以兼容多个空格。
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;
}
来自:求助得到的回答
展开全部
初学者应该是这样编写
#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);
}
#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);
}
追问
大哥 你看清楚题目了吗 是翻转输出哦!!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询