7-13 说反话-加强版 (12分)(附详细教程)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过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分)(附详细教程)相关推荐
- 7-25 说反话-加强版 (20分)
7-25 说反话-加强版 (20分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单 ...
- 7-15 说反话-加强版 (20 分)#
7-15 说反话-加强版 (20 分)# 7-15 说反话-加强版 (20 分) 强行解释# 先输出最后的单词,后输入先输的单词?(这不就是队列吗?先入队,后出队.不,咱现在也没学过,咱也不敢问) 那 ...
- 7-15 说反话-加强版 (20 分)
7-15 说反话-加强版 (20 分) PAT 程序设计天梯赛 韩旭051 7-15 说反话-加强版 (20 分) 强行解释 先输出最后的单词,后输入先输的单词?(这不就是队列吗?先入队,后出队.不, ...
- html仿b站页面代码,B站首页界面设计:附详细教程
文件名大小更新时间 B站首页界面设计:附详细教程\1.png2994402016-12-29 B站首页界面设计:附详细教程\2.png2492252016-12-29 B站首页界面设计:附详细教程\w ...
- 如何把pad作为笔记本电脑的分屏详细教程
转载自:如何把平板(pad)作为笔记本电脑的分屏详细教程_我怀念的-CSDN博客 1.笔记本安装spacedesk.msi软件: 下载网址:根据自己系统下载spacedesk | Multi Moni ...
- 10行代码AC——7-2 说反话-加强版 (20 分)——解题报告
励志用尽量少的代码做高效的表达. 题目描述 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由 ...
- 基础编程题目集-7-32 说反话-加强版 (20分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母 ...
- PTA 7-32 说反话-加强版 (20分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母 ...
- Python基础知识点总结13张思维导图(附全套教程)
如果初学者接触的第一门语言是Python,学习曲线则会平滑得多,掌握一些基本语法和Python内置的数据结构,已经可以上手写一些小工具或者小型应用.这对初学者来说,非常重要.因为学习的过程是一个突破舒 ...
最新文章
- java执行linux shell命令,并拿到返回值
- Python中经典类和新式类的区别
- 由Google Protocol Buffer的小例子引起的g++编译问题
- PostgreSQL 12系统表(3)pg_tablespace
- 23种设计模式(1)-单例模式
- (篇一)作为一个程序猿,这些C语言实例你必须会!
- 疯狂ios之cocos2d中的文本
- jde中文名杰德爱华兹(中国)软件系统有限公司
- 昆仑通态触摸屏与西门子PLC1200通信,读取DB块数据
- 基于wincc的虚拟电梯设计_PLC基于WinCC的四层电梯监控系统设计+梯形图
- 麦肯锡卓越工作方法 读书体会
- linux配置maven环境变量
- Mac 使用Charles进行手机https抓包(超详细教程)
- 微软因果推理的框架DoWhy github 介绍
- 好未来谢华亮:AI 在教育行业中的应用
- 如何看中兴70后程序员从公司跳楼
- r语言nonzerocoef函数_lars算法R语言操作指南.pdf
- 2018年蓝桥杯C语言B组
- Android 仿京东商城购物车及源码
- 小猪佩奇源码码,用Python写一个小猪佩奇
热门文章
- 架构-防火墙iptables
- 动态路由协议OSPF介绍
- Android 11.0 系统禁用深色主题背景功能
- 计算机网络基于交换机实验报告,《计算机网络》实验报告交换机接口镜像
- Java输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- B. The Great Hero
- 24、PrepareStament
- 三星会不会用鸿蒙系统,华为的鸿蒙系统已在路上 对手三星却要“趁虚而入”!...
- css 文字动态特效
- 达梦数据库-disql之SQL脚本使用