给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。

输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello

分析
完成此题我们需要两个步骤:1,先把原话的每个单词自我翻转(即变成olleH dlroW ereH I emoC)2,在整体翻转(即变成Come I Here World Hello)。

代码展示如下:

#include<stdio.h>
#include<string.h>void reverseWords(char * s){int count=0;char temp=0;int i=0,j=0,k=0;int leap=0;while(s[i]!=0){for(;;++i){if(s[i]==32||s[i]==0)break;}count=i-k;leap=count-1;for(j=k;j<(k+count/2);++j){temp=s[j+leap];s[j+leap]=s[j];s[j]=temp;leap=leap-2;}for(;;++i){if(s[i]!=32)break;}k=i;}return s;
}void reverseString(char* s){int i=0;int len=strlen(s);char temp=0;for(i=0;i<(len/2);++i){temp=s[len-1-i];s[len-1-i]=s[i];s[i]=temp;}
}int main(void)
{char s[500003]={0};int i=0;int count=0;int character=0;int len=0;gets(s);reverseWords(s);reverseString(s);len=strlen(s);for(i=len-1;;--i){if(s[i]!=32)break;if(s[i]==32)s[i]=0;}for(i=0;s[i]!=0;++i){if(s[i]==32&&character==0)continue;if(s[i]==32&&count==0){printf("%c",s[i]);++count;continue;}if(s[i]!=32){printf("%c",s[i]);count=0;++character;}}return 0;
}

7-13 说反话-加强版 (12分)(附详细教程)相关推荐

  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. html仿b站页面代码,B站首页界面设计:附详细教程

    文件名大小更新时间 B站首页界面设计:附详细教程\1.png2994402016-12-29 B站首页界面设计:附详细教程\2.png2492252016-12-29 B站首页界面设计:附详细教程\w ...

  5. 如何把pad作为笔记本电脑的分屏详细教程

    转载自:如何把平板(pad)作为笔记本电脑的分屏详细教程_我怀念的-CSDN博客 1.笔记本安装spacedesk.msi软件: 下载网址:根据自己系统下载spacedesk | Multi Moni ...

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

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

  7. 基础编程题目集-7-32 说反话-加强版 (20分)

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

  8. PTA 7-32 说反话-加强版 (20分)

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

  9. Python基础知识点总结13张思维导图(附全套教程)

    如果初学者接触的第一门语言是Python,学习曲线则会平滑得多,掌握一些基本语法和Python内置的数据结构,已经可以上手写一些小工具或者小型应用.这对初学者来说,非常重要.因为学习的过程是一个突破舒 ...

最新文章

  1. java执行linux shell命令,并拿到返回值
  2. Python中经典类和新式类的区别
  3. 由Google Protocol Buffer的小例子引起的g++编译问题
  4. PostgreSQL 12系统表(3)pg_tablespace
  5. 23种设计模式(1)-单例模式
  6. (篇一)作为一个程序猿,这些C语言实例你必须会!
  7. 疯狂ios之cocos2d中的文本
  8. jde中文名杰德爱华兹(中国)软件系统有限公司
  9. 昆仑通态触摸屏与西门子PLC1200通信,读取DB块数据
  10. 基于wincc的虚拟电梯设计_PLC基于WinCC的四层电梯监控系统设计+梯形图
  11. 麦肯锡卓越工作方法 读书体会
  12. linux配置maven环境变量
  13. Mac 使用Charles进行手机https抓包(超详细教程)
  14. 微软因果推理的框架DoWhy github 介绍
  15. 好未来谢华亮:AI 在教育行业中的应用
  16. 如何看中兴70后程序员从公司跳楼
  17. r语言nonzerocoef函数_lars算法R语言操作指南.pdf
  18. 2018年蓝桥杯C语言B组
  19. Android 仿京东商城购物车及源码
  20. 小猪佩奇源码码,用Python写一个小猪佩奇

热门文章

  1. 架构-防火墙iptables
  2. 动态路由协议OSPF介绍
  3. Android 11.0 系统禁用深色主题背景功能
  4. 计算机网络基于交换机实验报告,《计算机网络》实验报告交换机接口镜像
  5. Java输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
  6. B. The Great Hero
  7. 24、PrepareStament
  8. 三星会不会用鸿蒙系统,华为的鸿蒙系统已在路上 对手三星却要“趁虚而入”!...
  9. css 文字动态特效
  10. 达梦数据库-disql之SQL脚本使用