例题3-2 WERTYU UVA 10082

可能是因为输入里面有换行符?我的只识别一行字符串的程序没过。

又是getchar(),用了之后存都不用存,一个字符处理一次,直接输出,很适合这类只需处理单个字符的题。

#include <bits/stdc++.h>
using namespace std;
char mp[]="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";
int main()  {
    int i,c;
    while ((c=getchar())!=EOF)  {
        for (i=1;mp[i]&&mp[i]!=c;i++);
        if (mp[i])  printf("%c",mp[i-1]);
        else    printf("%c",c);
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/yichuan-sun/p/9628571.html