题目
把手放在键盘上时,稍不注意就会往右错一位。这样,输入Q会变成输入
W,输入J会变成输入K等。键盘如图3-2所示。
输入一个错位后敲出的字符串(所有字母均大写),输出打字员本来想打出
的句子。输入保证合法,即一定是错位之后的字符串。例如输入中不会出现
大写字母A。
样例输入
O S, GOMR YPFSU/
样例输出
I AM FINE TODAY.
思路
定义常量数组s: 用于确定每一个字符的前一个字符
代码
#include <iostream>
#include <cstdio>
using namespace std;
char s[] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";
int main()
{
// freopen("output.txt","w",stdout);
char c;
while((c = getchar()) != EOF)
{
int i;
for(i = 1; s[i] && s[i] != c; i++); // 定位到该字符
if(s[i]) printf("%c",s[i-1]);
else printf("%c",c);
}
return 0;
}
标签:字符,int,UVa10082,WERTYU,printf,例题,输入
From: https://www.cnblogs.com/isYu/p/17278910.html