UVA10082 WERTYU

问题描述:

将输入的字符转换成键盘上该字符左边的字符

 

输入:

逐行输入字符串(不包括Q,A,Z和Tab, BackSp, Control, 等), 其中字母都是大写字符

 

输出:

输出转化后的字符串

 

解题思路:

利用常数数组存储各个字符

 

AC:

#include "cstdio"


const char s[] = {"`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"};

int main(int argc, char const *argv[])
{
    char c;
    int i;
    while((c = getchar()) != EOF)
    {
        for(i = 1; s[i] && s[i] != c; i++);
        if(s[i] == c) printf("%c", s[i - 1]);
        else printf("%c", c);
    }
    return 0;
}

 

 

总结:

主要是通过数组构造了字符和字符之间的映射

posted @ 2015-11-30 20:44  小图书馆  阅读(66)  评论(0)    收藏  举报