zoukankan      html  css  js  c++  java
  • WERTYU

    题目

    把手放在键盘上时,稍不注意就会往右错一位。这样,输入Q会变成输入W,

    输入J会变成输入K等。

    输入一个错位后敲出的字符串(所有字母均大写),输出打字员本来想打出的句子。

    输入保证合法,即一定是错位之后的字符串。例如输入中不会出现大写字母A。

    样例输入:

    O S, GOME YPFSU/

    样例输出:

    I AM FINE TODAY.

    分析

    每输入一个字符,都可以直接输出一个字符,因此getchar是输入的理想方法。

    问题在于:如何进行这样的输入输出变换呢?一种方法是使用if语句或者switch语句,

    如 if(c=='W')putchar('Q')。但很明显,这样做太麻烦。比较好的方法是使用常量数组。

    c实现

    #include<stdio.h> 
    char s[]="`1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./";
    int main()
    {
        int i,c;
        while((c=getchar())!=EOF){
            for(i=1;s[i]&&s[i]!=c;i++);
            if(s[i])
                //putchar(s[i-1]);
                printf("%c",s[i-1]);
            else
                //putchar(c);
                printf("%c",c);
        }
        return 0;
    } 
  • 相关阅读:
    2-jenkins持续集成体系介绍
    第六天打卡
    第五天打卡(find用法)
    第五天打卡
    第四天打卡
    第三天打卡
    第一天:定个小目标,学习REDHAT,希望能去考下RHCE
    day12
    Python3的List操作和方法
    Python3字符串的操作
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/12919884.html
Copyright © 2011-2022 走看看