LHL算法入门经典 5.1.1 WERTYU (输入偏移)

5.1.1 WERTYU (输入偏移)

把手放在键盘上时,稍不注意就会往右错一位。 这样的话,Q会变成W,J会变成K等。 输入一个错位敲出的字符串,输出打字员本来想打出的句子。

样例输入:O S,GOMR YPFSU/

样例输出:I AMFINE TODAY.

#include<stdio.h>
char *s="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";
//  第一个\为转义字符
//移位只对大写字母有效
int main()
{ int i,c;
      while((c=getchar())!=EOF) 
{//循环回显地输入字符,当输入ctrl+z时结束。EOF=-1=ctrl+z输出的控制字符

     for(i=1;s[i]&&s[i]!=c;i++);//这个分号不可少!!!! 
//当s[i]等于输入字符时或s[i]为空字符(即字符串最后一位)跳出循环
       if(s[i]) putchar(s[i-1]); 
//若s[i]不为空,即s[i]=c,输出s[i-1],即c向左偏移一位的字符
     else putchar(c);
 //否则输出c,即不偏移。输入小写字母就会出现这种情况
}
return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值