现在的位置: 首页 > 综合 > 正文

常量数组处理字符串

2018年02月06日 ⁄ 综合 ⁄ 共 600字 ⁄ 字号 评论关闭

用常量数组代替if语句或switch语句,来处理字符串是很棒的选择!微笑

#include<stdio.h>

char s[]="`123456789()-=QWERTYUIOP[]\\";
char s0[]="ASDFGHJKL;'";
char s1[]="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]);
        else
        {
            for(i=1;s0[i] && s0[i]!=c;i++);
            if(s0[i])
                putchar(s0[i-1]);
            else
            {
                for(i=1;s1[i] && s1[i]!=c;i++);
                if(s1[i])
                    putchar(s1[i-1]);
                else
                    putchar(c);
            }
        }
    }
    return 0;
}

上面编码解决的是刘佳汝《算法竞赛入门经典》第70页的WERTYU(QWERTY:键盘)的问题。

抱歉!评论已关闭.