输入一个错位后敲出的字符串,输出打字员本想打出的句子。

样例输入:O S,GOMR YPFSU/

样例输入:I AM FINE TODAY.

每输入一个字符,都可以直接输出一个字符。

①使用if/switch语句,例如if(c=='w')putchar('q');但是太麻烦。

②使用常量数组。

#include<stdio.h>
#include<stdlib.h>
char s[100]="`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./";   //C语言中斜杠字符必须用//表示!
int main()
{
  int i,c;
  while((c=getchar())!=EOF)        //产生EOF方法:enter+(ctrl+z)+enter 
  {
    for(i=1;s[i]&&s[i]!=c;i++);      

  //在s中查找字符c的位置i(考虑到`的特殊性,让i=0使得遍历字符数组都找不到`,此时s[i]='\0',则执行else语句原样输出)

    if(s[i])                 //s不是'\0'时打印前一个字符。
      putchar(s[i-1]);
    else

      putchar(c);
  }
  return 0;
}