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

输入格式:

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

输出格式:

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

输入样例:

Hello World   Here I Come

输出样例:

Come I Here World Hello

解题思路:

先处理字符串,删除多余的空格,形成新字符串。然后逆序输出刚才处理好的字符串,即碰到空格就输出单词。

解题代码:

#include<stdio.h>
#define MAX 500000int main ()
{char s;char t[MAX];int i = 0, count = 0, flag = 0;while ((s=getchar()) != '\n') {if (s != ' ') {flag = 1; //标记遇到单词 t[i++] = s;count = 0;} else if (count > 0) {continue;} else if (flag) {t[i++] = s; //只有之前遇到单词的情况下碰到空格才把这个空格写入目标字符串 count ++;}} //删除多余的空格,将目标字符串放入 t 中 count = 0;int j;for (i-=1; i>=0; i--) {if (t[i] != ' ') {count ++; // 这里的 count 统计的是单词的位数 } else if (t[i]==' ' && count > 0) {for (j=i+1; j<=i+count; j++) {printf("%c", t[j]);} //遇到空格就输出单词 printf(" ");count = 0;}} // 还剩最后一个单词没输出for (j=i+1; j<=i+count; j++) {printf("%c", t[j]);} return 0;
}

转载于:https://www.cnblogs.com/andywenzhi/p/5738608.html

5-32 说反话-加强版相关推荐

  1. 7-25 说反话-加强版 (20分)

    7-25 说反话-加强版 (20分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单 ...

  2. 7-15 说反话-加强版 (20 分)#

    7-15 说反话-加强版 (20 分)# 7-15 说反话-加强版 (20 分) 强行解释# 先输出最后的单词,后输入先输的单词?(这不就是队列吗?先入队,后出队.不,咱现在也没学过,咱也不敢问) 那 ...

  3. 7-15 说反话-加强版 (20 分)

    7-15 说反话-加强版 (20 分) PAT 程序设计天梯赛 韩旭051 7-15 说反话-加强版 (20 分) 强行解释 先输出最后的单词,后输入先输的单词?(这不就是队列吗?先入队,后出队.不, ...

  4. PTA-7-32 说反话-加强版(C语言)

    7-32 说反话-加强版 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空格 ...

  5. c语言 PTA 基础编程题目集 编程题 7-32 说反话 加强版 的分析

    这里想跟大家谈一谈pta上的一个编程题,说反话的加强版,这道题题目很好理解,可是编程的思路却十分难找,代码更是难以看懂.这里我想跟大家分享一种思路,并做出详细的分析. #include<stdi ...

  6. PAT基础编程题目集 7-32 说反话-加强版

    #include <stdio.h> #include <string.h> int main() {char s[600000];scanf("%[^\n]&quo ...

  7. 7-13 说反话-加强版 (12分)(附详细教程)

    给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母 ...

  8. PTA基础编程题目集-7-32 说反话-加强版

    我不知道我这个到底错在哪里,就sample输出错误,其他的都是对的,但是我怎么都没有看出这个到底错在哪里! #include<iostream> #include<algorithm ...

  9. 10行代码AC——7-2 说反话-加强版 (20 分)——解题报告

    励志用尽量少的代码做高效的表达. 题目描述 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由 ...

最新文章

  1. 云效平台:企业级互联网架构下的持续集成与持续交付实践
  2. PHP用foreach来表达array_walk/array_filter/array_map/array_reduce
  3. 基于脑电图的情绪识别BCI应用于DOC患者
  4. android_通过高级应用程序开发策略在Android中进行用户参与
  5. 【ORACLE】 安装需要注意的问题(一)
  6. Dokcer安装Redis
  7. oracle 慕课课程_“慕课”在Oracle数据库课程中的应用探讨
  8. 促销 java_原始促销 [Java]
  9. RabbitMQ 简介和使用
  10. django-路由进阶-01
  11. 数字电路中的建立时间与保持时间
  12. 如何进行多云环境中的数据管理?
  13. 拓端tecdat|SAS用梯度提升回归树(GBDT)迁移学习预测抵押贷款拖欠风险和垃圾电子邮件数据
  14. CorelDRAWX4的VBA插件开发(五) 一键转曲
  15. html返回按钮 超链接,ppt超链接返回键
  16. ACM—数论—费马大定理 (数学史上著名的定理)
  17. 腾讯加盟:Kafka-on-Pulsar 项目迎来 2 位腾讯 Maintainer!
  18. 实现多方数据安全共享,解决普惠金融信息不对称难题
  19. 姜小白的Python日记Day12 迭代器与内置函数
  20. 最大似然估计(Maximum Likehood Estimation,MLE)和最大后验估计(Maximum A Posteriori estimation, MAP)

热门文章

  1. 康熙通宝铜钱值多少钱?
  2. 抖音店播 就是我们说的商家自播品牌自播
  3. 有人说男人赚钱都是为了女人,这话说的有道理吗?
  4. 视频剪辑用i7,8600还是r5,3600好些?
  5. 删除排除链表中的重复元素
  6. SQL Server中的动态SQL
  7. xposed 主动调用方法_操作方法:主动容量管理
  8. sql面试题sql语句_第二轮SQL面试问题
  9. alwayson高可用组_了解AlwaysOn可用性组上的备份-第2部分
  10. Questions make me doubt my engineer career