Word Reversal
2015-11-03 16:06
232 查看
Description
For each list of words, output a line with each word reversed without changing the order of the words.
This problem contains multiple test cases!
The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line between output blocks.
Input
You will be given a number of test cases. The first line contains a positive integer indicating the number of cases to follow. Each case is given on a line containing a list of words separated by one space, and each word contains only uppercase and lowercase
letters.
Output
For each test case, print the output on one line.
Sample Input
1
3
I am happy today
To be or not to be
I want to win the practice contest
Sample Output
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
直接采用栈的形式保存单词的字符,碰到空格或换行就可以直接打印就行了。
For each list of words, output a line with each word reversed without changing the order of the words.
This problem contains multiple test cases!
The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line between output blocks.
Input
You will be given a number of test cases. The first line contains a positive integer indicating the number of cases to follow. Each case is given on a line containing a list of words separated by one space, and each word contains only uppercase and lowercase
letters.
Output
For each test case, print the output on one line.
Sample Input
1
3
I am happy today
To be or not to be
I want to win the practice contest
Sample Output
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
直接采用栈的形式保存单词的字符,碰到空格或换行就可以直接打印就行了。
#include <stdio.h> #include <string.h> const int maxn = 100005; char str[maxn], stack[maxn]; int is_letter ( char ch ) //判断字母 { return ch >= 'A' && ch <= 'Z' || ch >= 'a' && ch <= 'z'; } int main ( ) { int T, n, cas = 0, len; //freopen ( "in0.in", "r", stdin ); scanf ( "%d", &T ); while ( T -- ) { scanf ( "%d", &n ); getchar ( ); //吃掉换行 if ( cas ++ ) //每个测试数据中一个空行 printf ( "\n" ); while ( n -- ) { int top = -1; fgets ( str, maxn, stdin ); //使用fgets,需要注意会接收\n len = strlen ( str ); for ( int i = 0; i < len; i ++ ) { if ( is_letter ( str[i] ) ) stack[++ top] = str[i]; else { while ( top >= 0 ) printf ( "%c", stack[top --] ); printf ( "%c", str[i] ); } } while ( top >= 0 ) //最后还有可能有没有出栈的数据 printf ( "%c", stack[top --] ); } } return 0; }
相关文章推荐
- kafka常用运维命令
- 在linux下新增一块硬盘的操作。(包含大于2T的硬盘在linux下挂载操作)
- java知识点汇总
- oracle 高级SQL总结
- CentOS中操作Psql
- django 快速搭建blog
- 字典序—lexicographical order
- 刘道玉校长:“他应当上哈佛大学”——记邹恒甫博士留学哈佛大学的曲折经过
- md5摘要引入
- vsftp服务的简介与配置
- hdu 1711 Number Sequence
- ITableView点击cell颜色变深,手放开后颜色恢复
- linux中的文件锁flock
- SQL Server连接异常
- labview事件结构学习
- Java泛型
- UICollectionView(二)自定义布局UICollectionViewLayout
- LNMP开发环境搭建
- Effective C++读书笔记-----术语
- 加速matlab运行的三重境界