美文网首页
10082 - WERTYU

10082 - WERTYU

作者: 不会积 | 来源:发表于2017-02-28 12:38 被阅读0次
Problem.png
一个简单的字符映射问题,将输入字符映射为键盘上该字符左边的字符,题目里已经排除了各种非法输入。
可以用一个常量字符数组保存键盘上的合法输入字符,每次读取一个输入字符后,在数组中寻找该字符,找到就将其前一个(即左边的)字符打印出来,没找到就直接输出(即空格)。
主要技巧就是常量数组的应用。
#include <stdio.h>
#include <string.h>

int main() {
    // 注意要把'\'进行转义
    char s[] = {"1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"};
    char c;
    int len = strlen(s);
    while ((c = getchar()) != EOF) {
        int i;
        for (i = 0; i < len; i++) {
            if (s[i] == c) {
                break;
            }
        }
        if (i != len) {
            putchar(s[i - 1]); // 找到了就输出前一个字符
        }
        else {
            putchar(c);        // 没找到就原样输出
        }
    }
}

相关文章

  • 10082 - WERTYU

  • UVA 10082 - WERTYU

    UVA 10082 - WERTYUA common typing error is to place theha...

  • WERTY

    例题3-2 WERTYU(WERTYU, UVa10082)把手放在键盘上时,稍不注意就会往右错一位。这样,输入Q...

  • ACM刷题打卡-151215

    UVa 272 - TEX Quotes 水题。字符替换。 UVa 10082 - WERTYU 第一次提交WA,...

  • char [] 和 char*

    作者按:无参考价值。 今天在看紫书时候,发现作者在WERTYU题目和Palindrome题目中定义了以下三个变量:...

网友评论

      本文标题:10082 - WERTYU

      本文链接:https://www.haomeiwen.com/subject/odjxgttx.html