10082 - WERTYU

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);        // 没找到就原样输出
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,694评论 0 4
  • 这世上每一个沉默的人都是有故事的人! 每一个喜欢看天的人心中都有一个梦! 认识舟,是在十几年前。 那时我家开了间网...
    静默虹li阅读 490评论 1 2
  • 朱朱家的精品大凉山特产店 https://weidian.com/s/954557509?wfr=c&ifr=sh...
    北极熊zzd阅读 263评论 0 0
  • 吴渊慢慢走近了这把长剑,打量了一下,此剑一半插在地下,通身漆黑,看起来很是普通,但他总感觉这就是他需要的武器。吴渊...
    青春散场阅读 394评论 2 1