pta 习题集 5-17九宫格输入法
来源:互联网 发布:如何成为一个美工 编辑:程序博客网 时间:2024/04/27 16:31
假设有九宫格输入法键盘布局如下:
[ 1,.?! ] [ 2ABC ] [ 3DEF ] [ 4GHI ] [ 5JKL ] [ 6MNO ] [ 7PQRS ] [ 8TUV ] [ 9WXYZ ] [ 0空 ]
注意:中括号[ ]
仅为了表示键盘的分隔,不是输入字符。每个中括号中,位于首位的数字字符即是键盘的按键,按一下即可输入该数字字符。多次按同一个键,则输入的字符依次循环轮流,例如按两次3
,则输入D
;按5次7
,则输入S
;按6次2
,则输入A
。按键0
的输入组合是0
和空格
字符,即按两次0
输入空格。
你需要对于给定的按键组合,给出该组合对应的文本。
输入格式:
输入在一行中给出数个字符的按键组合(例如 999
表示按3次9
),每个字符的按键组合之间用空格间隔,最后一个输入法组合之后以换行结束。输入数据至少包括一个字符的按键组合,且输入总长度不超过500个字符。
输出格式:
在一行中输出该按键组合对应的文本。
输入样例:
22 5555 22 666 00 88 888 7777 4444 666 44
输出样例:
ALAN TURING
#include <iostream>#include <string.h>#include <stdlib.h>#include <stdio.h>#include <math.h>#include <string>#include <map>using namespace std;char a[505];char *b[10]={"0 ","1,.?!","2ABC","3DEF", "4GHI","5JKL","6MNO", "7PQRS","8TUV","9WXYZ"};int main(){ int length[10]; for(int i=0;i<10;i++){ length[i]=strlen(b[i]); } char x; int y=0; char s; do{ s=getchar(); if(s!=' '&&s!='\n') { x=s; y++; } else{ int yy; if(y%6==0) yy=y; else yy=y%6-1; printf("%c",b[x-'0'][(y-1)%length[x-'0']]); y=0; } }while(s!='\n'); return 0;}
0 0
- pta 习题集 5-17九宫格输入法
- PTA 九宫格输入法
- pta 习题集5-17 家谱处理
- pta习题集5-16 朋友圈
- pta 习题集5-6 堆栈操作合法性
- pta 习题集5-19 列车厢调度
- pta习题集5-16 地下迷宫探索
- 5-13 九宫格输入法 (15分)
- 5-4 九宫格输入法 (15分)
- 九宫格输入法
- pta 习题集5-17 哥尼斯堡的“七桥问题”
- pta 习题集 5-15 数组循环左移
- pta 习题集5-18 打印学生选课清单
- 九宫格输入法 (25分) 解题报告
- pta 习题集 5-2 找出不是两个数组共有的元素 (5分)
- pta 习题集 5-5 最长连续递增子序列 (dp)
- pta 习题集 5-14 求n以内最大的k个素数以及它们的和
- pta习题集 5-10 切分表达式——写个tokenizer吧
- 面向对象的七大原则
- Linear Classification
- Android开发工具
- 排序算法2--简单选择排序、堆排序
- 用Executors来创建三种java的自带线程池
- pta 习题集 5-17九宫格输入法
- 基于 树莓派&opencv&face++开发考勤机(一)
- Failed to import pydot
- C# 模板文件比对——增强版
- java.lang.UnsupportedClassVersionError: javax/servlet/ServletContext : Unsupported major.minor versi
- Openlayers WFS 跨域问题解决思路
- LeetCode 461. Hamming Distance
- java权限修饰符作用域
- JAVA4种线程池的使用