把手放在键盘上,稍不注意就会向右错一位,输入错位后的字符串,输出正确的字符串。所有字母都是大写,并且在最左侧的字母不会错位。
主要是用getchar将空格之类的字符接受,然后用printf输出,并且,类似于大量的if语句实现的代码可以用数组来实现。输入下标,返回结果,类似与if else的语句。
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char s[] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";
int main()
{
int c;
while((c = getchar()) != EOF)
{
int flag = 1;
for(int i = 1; i <= strlen(s); ++i)
{
if(s[i] == c)
{
printf("%c", s[i-1]);
//putchar(s[i-1]);
flag = 0;
break;
}
}
if(flag)
{
//putchar(c);
printf("%c", c);
}
}
return 0;
}