【单词倒置】附一个考试易错点
来源:互联网 发布:淘宝智能版怎么装修 编辑:程序博客网 时间:2024/06/13 20:59
描述:
给一行英文句子,把每个单词倒置,注意:单词的顺序不变。
输入:
一行英文句子,其中只包含大写字母、小写字母和空格。
输出:
把每个单词的字母倒置输出。
输入样例:
akhk jrow mfo zj ajp
输出样例:
khka worj ofm jz pja
#include <stdio.h>#include <stdlib.h>#include <string.h>char a[1000]; //输入的字符型数组int Start[1000]; //a[]中单词的第一个字母起始点位置int scnt; //数数,第几个起始点int End[1000]; //a[]中单词最后一个字母后的空格位置int ecnt; //数数,第几个结束点int x; //输入的字符长度void init();void daozhi();void output();int main(){ gets(a); x = strlen(a);init();daozhi();output(); return 0;}void init(){ int i; scnt = 0; ecnt = 0; for(i = 0; i < x; i ++) { if(a[0] != ' ' && i == 0) { Start[scnt] = 0; scnt ++; } else if(i >= 1) { if(a[i] != ' ' && a[i - 1] == ' ') { Start[scnt] = i; scnt ++; } } else ; } for(i = 0; i < x; i ++) { if(i >= 1) { if(a[i] == ' ' && a[i - 1] != ' ') { End[ecnt] = i - 1; ecnt ++; } else if(a[x - 1] != ' ' && i == x - 1) { End[ecnt] = x - 1; ecnt ++; } else ; } }}void daozhi(){ int i; int j; int s, e; int temp; //字母交换时的介质 for(i = 0; i < scnt; i ++) { s = Start[i]; e = End[i]; if((e - s) % 2 == 0) { for(j = 0; ; j ++) { s += j; e -= j; if(s == e) break; temp = a[s]; a[s] = a[e]; a[e] = temp; s = Start[i]; e = End[i]; } } else { for(j = 0; ; j ++) { s += j; e -= j; if(e < s) break; temp = a[s]; a[s] = a[e]; a[e] = temp; s = Start[i]; e = End[i]; } } }}void output(){ int i; for(i = 0; i < x; i ++) { if(i == x - 1) printf("%c\n", a[i]); else printf("%c", a[i]); }}我开始output();函数是这样写的:void output(){ int i; for(i = 0; i < x; i ++) { printf("%c", a[i]); }}当然,这样写输出的形式和答案一模一样,但是总显示格式错误提交不了。这是为什么呢?因为考试要求最后一个输出要打回车!!!这也许是很多同学会忘记的,在此提出来,作为对大家的一个提示。希望能帮助到大家!!
阅读全文
0 0
- 【单词倒置】附一个考试易错点
- 倒置一个字符串里面的单词
- 单词倒置
- 单词倒置
- 单词倒置
- 单词倒置
- 单词倒置
- 单词倒置
- 字符串按单词倒置
- 单词进行倒置
- 字符串按单词倒置
- 单词倒置实现
- 单词进行倒置
- 一句话单词倒置
- 字符串单词倒置
- 单词的整体倒置
- C++字符串 单词倒置
- 编写一个程序,输入一个英文句子,将其中单词位置倒置,单词内部结构不变。例如“I am from shanghai”倒置为“shanghai from am I”。
- 《Chappie》(《超能查派》)
- MySQL 数据库引擎
- 错误: 程序中有游离的‘\302’ ‘\240’等
- 第四届“图灵杯”NEUQ-ACM 程序设计竞赛(团队赛)
- BigNums——HDUOJ 1063
- 【单词倒置】附一个考试易错点
- c primer plus 第十章学习梳理小结
- Algorithm8——图论总结
- PyQt5学习笔记13----pyqt线程间通信
- 寻找字符字串的两个方法
- CentOS7启动、停止MySQL
- Atom本地安装插件右上角会有红色报错,大概是 cannot find module ‘lodash.random’ 之类的,缺少关键项。
- Linux内核中工作队列的使用work_struct,delayed_work
- oracle用户管理