算法竞赛入门经典:第五章 基础题目选解 5.1WERTYU
来源:互联网 发布:美工的岗位工资待遇 编辑:程序博客网 时间:2024/05/24 06:06
/*把手放在键盘上时,稍不注意就会往右错移一位。这样的话,Q会变成W,J会变成K等。电脑键盘如下图所示:` 1234567890-=BackSPTabQWERTYIOP[]\A SDFGHJKL;'EnterZ XCVBNM,./Control Alt Alt Control输入一个错位后敲出的字符串,输出打字员本来想打出的句子。输入:O S,GOMR YPSFU输出:I AM FINE TODAY.思路:设置一个int 数组映射char iArr[(int)'W'] = 'Q';char iArr[(int)'1'] = '`';这个太烦,将两个字符串放在一起,采用一前一后对称方式:还原的字符串:`1234567890-QWERTYUIOP[]ASDFGHJKL;ZXCVBNM,. 敲错的字符串:1234567890-=WERTYUIOP[]\SDFGHJKL;'XCVBNM,./*//*关键:1 在输入 O S,GOMR YPSFU时,因为空格,scanf会当成多个字符串,这里可以采用gets来做,gets默认不会以空格来切分字符串2 此题除了设置两个一一对应数组外,还可以采用前移一位来打印字符串。while((ch = getchar()) != EOF) putchar(priStr[i-1]);3 注意,转移字符'\'需要用 '\\'表示*/#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXSIZE 1024char* findCorStr(char* str,char* rStr){char priStr[MAXSIZE] = " 1234567890-=WERTYUIOP[]SDFGHJKL;'XCVBNM,./\\";char resStr[MAXSIZE] = " `1234567890-QWERTYUIOP[ASDFGHJKL;ZXCVBNM,.]";int iLen = strlen(priStr);int iStrLen = strlen(str);int i,j;for(i = 0 ; str[i] != '\0'; i++)//for(i = 0 ; i < iStrLen ; i++){for(j = 0; j <= iLen ; j++){if(str[i] == priStr[j]){rStr[i] = resStr[j];break;}}}rStr[i] = '\0';return rStr;}void priStr(char* str){char priStr[MAXSIZE] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";char ch;while((ch = getchar()) != EOF){for(int j = 0 ; str[j] != '\0' ;j++){for(int i = 1 ; priStr[i] != '\0' ; i++){if(str[j] == priStr[i]){putchar(priStr[i-1]);break;}}}}}int main(int argc,char* argv[]){char rStr[MAXSIZE];char str[MAXSIZE];gets(str);printf("%s\n",findCorStr(str,rStr));/*while(EOF != scanf("%s",str));//关键:若输入空格,则会当成若干个字符串进行切割{char rStr[MAXSIZE];printf("%s\n",findCorStr(str,rStr));}*/system("pause");return 0;}
0 0
- 算法竞赛入门经典:第五章 基础题目选解 5.1WERTYU
- 《算法竞赛入门经典》 第五章 基础题目选解
- 算法竞赛入门经典:第五章 基础题目选解 5.2 Tex
- 算法竞赛入门经典:第五章 基础题目选解 5.3 周期串
- 算法竞赛入门经典:第五章 基础题目选解 5.4 小学生算术
- 算法竞赛入门经典:第五章 基础题目选解 5.5 高精度乘法
- 算法竞赛入门经典:第五章 基础题目选解 5.6 数组模拟高精度乘法
- 算法竞赛入门经典:第五章 基础题目选解 5.7 6174问题
- 算法竞赛入门经典:第五章 基础题目选解 5.8 字母重排
- 算法竞赛入门经典:第五章 基础题目选解 5.9 Cantor数
- 算法竞赛入门经典:第五章 基础题目选解 5.10 因子和阶乘
- 算法竞赛入门经典:第五章 基础题目选解 5.11果园里的树
- 算法竞赛入门经典:第五章 基础题目选解 5.12多少块土地
- 算法竞赛入门第五章(竞赛题目选讲)解析:
- 【索引】算法竞赛入门经典-第5章 基础题目选解
- 算法竞赛入门经典 第五章 字符串
- 算法竞赛入门经典 第五章 6174
- 算法竞赛入门经典-第五章源代码
- android学习笔记NO.1
- chorme提示Adobe Flash Player过期
- iOS 9 分屏多任务(3):画中画(PiP)快速入门
- cocos2dx 3.x android平台移植 apk打包教程
- 【COCI 2012】踢足球
- 算法竞赛入门经典:第五章 基础题目选解 5.1WERTYU
- 回溯法求集合的幂集
- 22-IO流-28-IO流(流的操作基本规律-需求体现-1)
- CSS实例:Tab选项卡效果
- HDU_1829_ABug'sLife
- Cocos2d-x中,创建Animate的几种方法
- monkeyrunner学习笔记
- Android L 新特性
- osgearth API编程动态建立一个地球【转】