把手放在键盘上时,稍不注意就会往右错一位。这样,输入Q会变成输入W,输入J会变成输入K等。键盘如图3-2(如键盘所示)所示。
输入一个错位后敲出的字符串(所有字母均大写),输出打字员本想打出的句子。输出保证合法,即一定是错位之后的字符串。例如输入中不会出现大写字母A。
样例输入:
O S, GOMR YPFSU/
样例输出:
I AM FINE TODAY.
#include <iostream>
#include<stdio.h>
using namespace std;
char a[]="`1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./";
int main()
{
int c,tmp=1;
int len=47;
while((c=getchar())!=EOF)
{
for(int i=0;i<=len-1;i++)
{
if(char(c)==a[i])
{
cout<<a[i-1];
tmp=0;
break;
}
}
if(tmp==1)
cout<<char(c);
}
return 0;
}
找不出不能输出空格的原因
正确改写:不过还是不知道上面错误原因
正确代码:
#include <iostream>
#include<stdio.h>
using namespace std;
char a[]="`1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./";
int main()
{
int c,tmp=1;
int len=47;
while((c=getchar())!=EOF)
{
if(char(c)==' ')
cout<<" ";
else{
for(int i=0;i<=len-1;i++)
{
if(char(c)==a[i])
{
cout<<a[i-1];
tmp=0;
break;
}
}
if(tmp==1)
cout<<char(c);
}
}
return 0;
}