ZOJ 1151 Word Reversal
来源:互联网 发布:隐蔽战线知乎 编辑:程序博客网 时间:2024/06/06 01:43
题目大意:
现有多个测例(测例数题中给出),每个测例中都会输入一篇文章,会给出文章的行数N(int型),然后给出文章中每行的内容,现要求把每行中的单词反转,其余不动,然后输出,输出时测例之间有空行,最后一个测例后没有空行。
题目链接
注释代码:
/* * Problem ID : ZOJ 1151 Word Reversal * Author : Lirx.t.Una * Language : C * Run Time : 0 ms * Run Memory : 168 KB */#include <string.h>#include <stdio.h>//表示当前指针是在一个单词内还是在一个单词外#defineIN1#defineOUT0//经测试的每行最大长度#defineMAXLEN50chars[MAXLEN];//string,用于存储一行voidsrev( char *st, char *en ) {//string reverse,单词反转//分别为start和end指针charch;//临时变量while ( st < en ) {//交换ch = *st;*st++ = *en;*en-- = ch;}}intmain() {intt;//测例数intn;//行数intl;//一行的长度(即字符个数,包括空格等)intst, en;//start和end指针intflag;//标志,表示当前指针处于单词内还是单词外inti;//扫描指针scanf("%d", &t);while ( t-- ) {scanf("%d\n", &n);while ( n-- ) {flag = OUT;//每行扫描开始都将指针设为在单词外gets(s);//获取一行l = strlen(s);for ( i = 0; i <= l; i++ ) {//之前指针在单词外,并且当前指针不指向空格或者字符串结尾标志if ( OUT == flag && s[i] != ' ' && s[i] ) {//则表示刚刚进入一个单词st = i;//设定startflag = IN;//改变标记continue;}//表示指针仍然在当前单词内if ( IN == flag && s[i] != ' ' && s[i] )continue;//之前还在单词内的,但是当前指针指向空格或者字符串结尾标志if ( IN == flag && ( ' ' == s[i] || !s[i] ) ) {//这就表示刚刚退出一个单词en = i - 1;//记录结尾flag = OUT;//该表标记srev( s + st, s + en );//并对筛选的单词进行翻转continue;}}puts(s);//打印一行}if (t) putchar('\n');//输出测例之间空一行,最后一个测例后没有空行}return 0;}
无注释代码:
#include <string.h>#include <stdio.h>#defineIN1#defineOUT0#defineMAXLEN50chars[MAXLEN];voidsrev( char *st, char *en ) {charch;while ( st < en ) {ch = *st;*st++ = *en;*en-- = ch;}}intmain() {intt;intn;intl;intst, en;intflag;inti;scanf("%d", &t);while ( t-- ) {scanf("%d\n", &n);while ( n-- ) {flag = OUT;gets(s);l = strlen(s);for ( i = 0; i <= l; i++ ) {if ( OUT == flag && s[i] != ' ' && s[i] ) {st = i;flag = IN;continue;}if ( IN == flag && s[i] != ' ' && s[i] )continue;if ( IN == flag && ( ' ' == s[i] || !s[i] ) ) {en = i - 1;flag = OUT;srev( s + st, s + en );continue;}}puts(s);}if (t) putchar('\n');}return 0;}
单词解释:
reversal:n, 逆转,反转
0 0
- zoj 1151 Word Reversal
- ZOJ 1151 Word Reversal
- ZOJ 1151 Word Reversal
- zoj 1151 Word Reversal
- zoj 1151 Word Reversal
- ZOJ 1151 Word Reversal
- ZOJ 1151: Word Reversal
- ZOJ 1151 Word Reversal
- ZOJ 1151 Word Reversal
- zoj 1151 Word Reversal
- zoj 1151 Word Reversal
- zoj 1151 Word Reversal
- ZOJ 1151 Word Reversal
- php - zoj 1151 Word Reversal
- zoj 1151 Word Reversal-------------输入输出超时
- ZOJ Problem Set - 1151 Word Reversal
- ZOJ-1151 Word Reversal,栈的解法
- ZOJ Problem Set - 1151 Word Reversal
- 那些职场优秀人员的共性
- $_SERVER['SERVER_SUBDOMAIN'],自定义$_SERVER变量
- TypeError: jQuery(...).validationEngine is not a function
- 基础算法--排序: 之插入排序
- vmm执行基本流程
- ZOJ 1151 Word Reversal
- solr检索乱码的问题
- JAVA之IO技术 合并文件--有bug哦
- 在Thinkpad上使用WiFi共享精灵有时会遇到无线网卡自动关闭怎么破
- tomcat+solr+IK全过程
- 验证时间格式YYYY-MM-DD
- 记录未懂知识以备未来使用
- currentstyle里加入索引autoindex
- JAVA之IO技术 分割文件