PAT (Basic Level) Practise (中文)1009. 说反话 (20)
2015-07-16 10:52
337 查看
1009. 说反话 (20)
时间限制400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
刚开始想着用结构或者二维数组来解决,但是都觉得太麻烦,最后想到了指针。策略就是用strrchr函数找到最后的空格,然后进行输出,再把空格替换为‘/0’,字符串就把最后面的尾巴给剔除掉了。要注意的点就是第一个单词的处理和输入只有一个单词的情况。代码如下:
#include<stdio.h> #include<string.h> int main() { char s[81]={}; gets(s); if(strchr(s,' ')==NULL) //考虑只有一个单词,即字符串中没有空格 { printf("%s\n",s); } else { while(strrchr(s,' ')!=NULL) { printf("%s ", strrchr(s,' ')+sizeof(char)); // 打印最后一个单词,注意要加 sizeof(char) *strrchr(s,' ')=0; // 最后一个空格改为‘/0’ } printf("%s",s); // 最后一个单词直接打印字符串 } return 0; }
相关文章推荐
- Java,php,python,js 定义多行字符串
- 编译并使用Boost库(Win7+Boost1.53+VS2012)
- Tomcat日志系统详解
- 关于java程序加图片不能打包成可运行jar的问题
- 深搜专题初步-1001
- Unity为物体添加物理碰撞效果
- Spring对注解(Annotation)处理源码分析1——扫描和读取Bean定义
- Spring对注解(Annotation)处理源码分析2——解析和注入注解配置的资源
- Codeforces Round #312 (Div. 2) C. Amr and Chemistry 暴力
- Android系统五大布局详解Layout
- UICollectionview实现类似UITableview的sectionheader悬浮代码
- hiho一下 第五十四周 题目1 : 连通性·三
- 银行储蓄系统
- mysql数据库集群方案(内部资料)
- 《Spring技术内幕》学习笔记6——IoC容器的高级特性
- Spring基于 Annotation 的简单介绍
- 数组里a和&a的区别
- WdatePicker日期控件的时间限制
- POJ 3984 迷宫问题(bfs)
- poj解题报告——1701