1009 说反话 (20 分)

1009 说反话 (20 分)

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

输入格式:

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

输出格式:

每个测试用例的输出占一行,输出倒序后的句子。

输入样例:

#include
#includeint main()
{char str1[90];int num[90]= {},j=0;gets(str);int len=strlen(str);//num[]数组记录空格的位置,空格后面的字母是单词的开始字母 for(int i=len-1; i>=0; i--){if(str[i]==' '){num[j++]=i;}}//下面两个循环进行输出 for(int k=0; k

 参考代码二(《学习笔记》)(二维数组):

#include
#includeint main()
{int num=0;char ans[90][90];while(scanf("%s",ans[num])!=EOF){num++;} for (int i=num-1;i>=0;i--){printf("%s",ans[i]);if(i>0){printf(" ");}}return 0;
}

ps:在黑框中手动输入时,系统并不知道什么时候到达了所谓的“文件末尾”,因此需要用再按Enter键的方式告诉系统已经到了EOF,这样系统才会结束while。

参考代码三(学习笔记):

#include
#includeint main()
{char str[90];gets(str);int len=strlen(str),r=0,h=0;//r为行,h为列 char ans[90][90];//ans[0]~ans[r]存放单词for (int i=0;i=0;i--){//输出单词 printf("%s",ans[i]);if(i>0){printf(" ");}}return 0;
}

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部