九宫格按键输入 --- 华为od刷题

原文链接

【华为OD机试 】 九宫格按键输入(C++ Java JavaScript Python 四种语言实现)

题目描述

[九宫格]按键输入,输出显示内容,有英文和数字两个模式,默认是数字模式,数字模式直接输出数字,英文模式连续按同一个按键会依次出现这个按键上的字母,如果输入”/”或者其他字符,则循环中断。

字符对应关系如图:

要求输入一串按键,输出屏幕显示。

输入描述

输入范围为数字 0~9 和字符’#’、’/’,输出屏幕显示,例如,

在数字模式下,输入 1234,显示 1234

在英文模式下,输入 1234,显示,adg

输出描述

#用于切换模式,默认是数字模式,执行#后切换为英文模式;

/表示延迟,例如在英文模式下,输入 22/222,显示为 bc;

英文模式下,多次按同一键,例如输入 22222,显示为 b;

用例

输入 123#222235/56
输出 123adjjm

C++

#include<iostream>
#include<vector>
#include<algorithm>
#include<string.h>
#include<map>
using namespace std;
 
int main() {
    string input_str;
    cin >> input_str;
    
    // 九宫格枚举信息
    map<char, string> char_map;
    char_map['0'] = " ";
    char_map['1'] = ",.";
    char_map['2'] = "abc";
    char_map['3'] = "def";
    char_map['4'] = "ghi";
    char_ma

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

华为OD机试刷题 文章被收录于专栏

华为OD机试刷题记录机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。

全部评论
我直接悟了
点赞
送花
回复
分享
发布于 2023-03-28 11:27 陕西

相关推荐

3 6 评论
分享
牛客网
牛客企业服务