输入一个错位后敲出的字符串,输出打字员本想打出的句子。
样例输入: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;
}
浙公网安备 33010602011771号