WERTYU找不出不能输出空格的原因SSSSSSSSSSSSS

把手放在键盘上时,稍不注意就会往右错一位。这样,输入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;
}



原文地址:https://www.cnblogs.com/iamjuruo/p/7470979.html