UVA 10082 - WERTYU

UVA 10082 - WERTYU
A common typing error is to place the
hands on the keyboard one row to the
right of the correct position. So ‘Q’ is
typed as ‘W’ and ‘J’ is typed as ‘K’ and
so on. You are to decode a message typed in this manner.
Input
Input consists of several lines of text. Each line may contain digits, spaces, upper case letters (except
Q, A, Z), or punctuation shown above [except back-quote (‘)]. Keys labelled with words [Tab, BackSp,
Control, etc.] are not represented in the input.
Output
You are to replace each letter or punction symbol by the one immediately to its left on the ‘QWERTY’
keyboard shown above. Spaces in the input should be echoed in the output.
Sample Input
O S, GOMR YPFSU/
Sample Output
I AM FINE TODAY.

题目大意:一个程序员打代码的时候手放错了位置,往右偏了一点。所以他输入的代码都是错的。需要帮他纠正过来,只考虑数字和字母。(键盘不包括小键盘)


#include <stdio.h> 
char s[] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";  
int main() {  
    int i,c; 
    while ((c = getchar()) != EOF) {  
        for (i = 1; s[i]!='\0' && s[i] != c; i++);
        if (c==65||c==81||c==90){}//65 81 90分别为A Q Z的ASCII码值
        else if (s[i]) putchar(s[i - 1]);
        else putchar(c); 
    }
    return 0;  
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 10,083评论 0 23
  • 今天无意间,看到了《交易》的一部分,果断搜索了全集,看完有些感触,写几句话。 交易剧情很简单,小女孩彤彤的妈妈病重...
    沉默笑靥生阅读 232评论 0 1
  • 作者 范友军 遥远 总想扯一片详云 把怀念的思绪一起融合 怀揣一杯红酒 站在离乡的这头 村口 善良的母亲总爱在翘盼...
    中原焦点阅读 233评论 2 3
  • 作者 祥神 转载请注明出处 微信公众号:读书琐记,个人所著书籍《读书方法论》:如何高效学习,关注公众号获取。 之前...
    读书方法论阅读 1,791评论 0 2
  • 夜深了 可天空却没有星星 我忘了 可却记得你眼角的痣 你知道吗? 我又一次来到了你的身边 这次是静静的
    YanYeach阅读 161评论 0 0