/*
题目大意是把输入错误的数据复原成正确的数据
输入的数据总会把输入的字符向右移动一个
所以我们要将输入的字符向左移动一位
*/
#include <iostream>
#include <stdio.h>
char s[] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";//输入错误的区域
using namespace std;//因为此处的要处理的数据为较多的无数学规律数据(个人感觉月份也是),所以不宜用if... else if...语句,
int main(void)
{
int i;
char ch;//每次读入的字符
while ((ch = getchar()) != EOF)
{//每次读取一个字符
for (i = 0; s[i] && s[i] != ch; i++);//判断当前输入的字符是否在已存储的字符串当中,如果在返回当前字符在字符串列中的位置
if (s[i])//如果在s中找到了这个字符,那就打印它的前一个字符
putchar(s[i - 1]);
else//如果没有找到,那就输出当前读入的字符
putchar(ch);
}
return 0;
}
WERTYU - UVA - 10082
最新推荐文章于 2020-10-07 14:25:15 发布