c语言 九宫格输入法

c语言 九宫格输入法

假设有九宫格输入法键盘布局如下:

[ 1,.?! ] [ 2ABC ] [ 3DEF ]
[ 4GHI ] [ 5JKL ] [ 6MNO ]
[ 7PQRS ] [ 8TUV ] [ 9WXYZ ]
[ 0空 ]
请用程序实现: 对于给定的按键组合,给出该组合对应的文本。

注意: 中括号[]仅为了表示键盘的分隔,不是输入字符。每个中括号中,位于首位的数字字符即是键盘的按键,按一下即可输入该数字字符。多次按同一个键,则输入的字符依次循环轮流,例如按两次 3,则输入 D;按 5 次 7,则输入 S;按 6 次 2,则输入 A。按键 0 的输入组合是 0 和空格字符,即按两次 0 输入空格。

示例
输入
22 5555 22 666 00 88 888 7777 4444 666 44
输出
ALAN TURING`
下面是代码

#include<stdio.h>
int main()
{   
    char note[100];
    int i=0int k=0;
    char c[10][6] = {{'1',',','.','?','!'},{'2','A','B','C'},{'3','D','E','F'},{'4','G','H','I'},{'5','J','K','L'},{'6','M','N','O'},{'7','P','Q','R','S'},{'8','T','U','V'},{'9','W','X','Y','Z'},{'0',' '}};
    gets(note);
    while(note[i]!='\0')
    {  
        if(note[i]==' ')
        {
		   i=i+1;
		}
		  else
		  {
		    while(note[i]==note[i+1])
		      {  k=k+1;
		         i=i+1;
		       }
           switch(k)
          {
            case 0:printf("%c",c[note[i]-'0'-1][0]);
				  break;
            case 1:printf("%c",c[note[i]-'0'-1][1]);
				  break;
            case 2:printf("%c",c[note[i]-'0'-1][2]);
				  break;
            case 3:printf("%c",c[note[i]-'0'-1][3]);
				  break;
            case 4:printf("%c",c[note[i]-'0'-1][4]);
				  break;
		 }
		i++;
  k=0;    
  }
   }
     return 0;
}

这样写出来的
如果要求是输入1234567

输出也是1234567

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gustmirage

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值