1. 问题描述:
有一个喝醉的打字员,他敲的每个字符都后移了一位。例如,实际字符是w,
他敲成e;实际字符是e,他敲成了r。请设计一个算法,纠正他的错误。
2. 输入输出样例
输入样例:
hppf
输出样例:
good
3. 问题分析
实际上就是字符移位的问题,可以用穷举法,if(c == "e"),putch("w")或者用
switch,但这太麻烦了!太多if else,太多case。可以用常量字符串来解决。
4. 示例:
#include "stdafx.h"
#include <conio.h>
#pragma warning(disable: 4996)
int _tmain(int argc, _TCHAR* argv[])
{
char *s = "qwertyuiop[]asdfghjkl;'\\zxcvbnm,./";
char c;
int i;
while ((c = getch()))
{
for(i = 0;s[i] && s[i] != c;i++);
if(s[i-1])
putch(s[i-1]);
else
putch(c);
}
return 0;
}