【每日一题】电话号码

文章目录

  • 【每日一题】电话号码
    • 1、题目来源
    • 2、题目描述
    • 3、输入/出描述
    • 4、示例
    • 5、代码展示

1、题目来源

  牛客网:电话号码


2、题目描述


  上图是一个电话的九宫格,如你所见一个数字对应一些字母,因此在国外企业喜欢把电话号码设计成与自己公司名字相对应。例如公司的Help Desk号码是4357,因为4对应H、3对应E、5对应L、7对应P,因此4357就是HELP。同理,TUT-GLOP就代表888-4567、310-GINO代表310-4466。
  NowCoder刚进入外企,并不习惯这样的命名方式,现在给你一串电话号码列表,请你帮他转换成数字形式的号码,并去除重复的部分。


3、输入/出描述

输入描述:

  输入包含多组数据。

  每组数据第一行包含一个正整数n(1≤n≤1024)。

  紧接着n行,每行包含一个电话号码,电话号码仅由连字符“-”、数字和大写字母组成。

  没有连续出现的连字符,并且排除连字符后长度始终为7(美国电话号码只有7位)。

输出描述:

  对应每一组输入,按照字典顺序输出不重复的标准数字形式电话号码,即“xxx-xxxx”形式。

  每个电话号码占一行,每组数据之后输出一个空行作为间隔符。


4、示例

  输入:

12
4873279
ITS-EASY
888-4567
3-10-10-10
888-GLOP
TUT-GLOP
967-11-11
310-GINO
F101010
888-1200
-4-8-7-3-2-7-9-
487-3279
4
UTT-HELP
TUT-GLOP
310-GINO
000-1213

  输出:

310-1010
310-4466
487-3279
888-1200
888-4567
967-1111000-1213
310-4466
888-4357
888-4567

5、代码展示

#include<iostream>
#include<string>
#include<set>
using namespace std;
int main()
{int n;                        string num[2]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ","22233344455566677778889999"};while(cin>>n){string str,temp;set<string,less<string>> list;for(int i=0;i<n;++i){cin>>str;temp="";for(char ch:str){if( ch!='-' && isalpha(ch))         //是字母temp+=num[1][toupper(ch)-'A']; //将相应字母对应到数字else if(ch!='-' && isalnum(ch))   //是数字temp+=ch;}temp.insert(temp.begin()+3,'-');list.insert(temp);}for(string str:list)cout<<str<<endl;cout<<endl;}return 0;
}

【每日一题】电话号码相关推荐

  1. 电话号码分身 java,每日一题C++版(电话号码分身)

    编程是很多偏计算机.人工智能领域必须掌握的一项技能,此编程能力在学习和工作中起着重要的作用.因此小白决定开辟一个新的板块"每日一题",通过每天一道编程题目来强化和锻炼自己的编程能力 ...

  2. 每日一题 11.3 账户合并

    每日一题11.3 账户合并 一.题目概述 虽然是中档题,但是这个题目对我来说太难了...我研究了挺长时间,本来不想写什么了,但是既然flag都立起来了,那我总要完成. 这个题应该是有两个做法,一套是并 ...

  3. 每日一解 电话号码的字母组合

    题目 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 1(无对应) 2(abc) 3(d ...

  4. [每日一题]0:每日一题汇总

    每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,博客内主要更新学习C/C++.以及Linux的相关知识点,希望在记录学习过程的同时也能方便遇到相同问题的人,方便回顾复习,也希望能够与大家一起交 ...

  5. 算法笔记——每日一题(完结)

    算法笔记 From Now To My Death 前言 初级算法 1.两数之和 7.整数反转 9.回文数 14.最长公共前缀 27.移除元素[拷贝复制] 28.实现strStr()[双指针] 35. ...

  6. [每日一题] 0. 每日一题题解汇总

    每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,其各题目代码已经同步到我的GitHub的Everyday_Coding仓库中:Y-puyu的GitHub仓库,博客内主要更新学习C/C++.Li ...

  7. 对数函数定义域和值域_呆哥数学每日一题 —— 复合函数值域

    如果想要获取往期每日一题电子版,可以加我微信:daigemath366,备注:知乎 每日一题 呆哥解析:这是一个函数和复合函数的综合问题 首先我们先把原函数的值域求出来 先直接求导: 导数不容易判断单 ...

  8. 每日一题(进制转换)

    前言:为了让小伙伴更方便的学习编程语言,小白每天都会分享一道编程题.小白也创建了一个微信公众号,会同步更新题目和相关的视觉领域的知识,如果小伙伴不方便在网页上阅读文章,可以关注微信公众号"小 ...

  9. 每日一题(合并表格)

    前言:为了让小伙伴更方便的学习编程语言,小白每天都会分享一道编程题.小白也创建了一个微信公众号,会同步更新题目和相关的视觉领域的知识,如果小伙伴不方便在网页上阅读文章,可以关注微信公众号"小 ...

最新文章

  1. CentOS 5.6配置PPTP+Radius+Daloradius认证服务器傻瓜教程
  2. Spark MLlib介绍
  3. 武汉python培训哪一家好一些-武汉Python培训机构哪家好?要怎么选才靠谱?
  4. vue知识总结第一篇vue组件的定义以及父子组件的传值。
  5. LaTeX基础一:安装与基本操作
  6. 使用Twitter Bootstrap,WebSocket,Akka和OpenLayers玩(2.0)
  7. 20210612:力扣第244周周赛题解(上)
  8. nodejs+vue+elementui企业考勤管理系统
  9. 7-2 前序序列创建二叉树
  10. 【EOSIO】EOS/WAX签名错误 is_canonical( c ): signature is not canonical 问题
  11. 深圳实验室装修准备工作
  12. php支付宝pc收银台,支付宝支付-PC电脑网站支付
  13. 【八股文】4 Spring
  14. Flask实战开发在线问答系统
  15. 【生成报名号+缴费成功】不代表考研报名成功!
  16. 一文弄懂Word2Vec之skip-gram(含详细代码)
  17. MyBatis-Plus分页查询(快速上手运用)
  18. 华硕触摸板关闭后AsusTPCenter.exe占用太多cpu资源
  19. SE Springer小组之《Spring音乐播放器》可行性研究报告一、二(转载)
  20. python爬虫学习日记(1) scrapy爬取时,报错Filtered offsite request

热门文章

  1. unity 超简单的圆形进度条
  2. Post接口测试示例
  3. win10更新后任务栏卡死解决方法
  4. 大数据分析案例-基于逻辑回归算法构建垃圾邮件分类器模型
  5. 四年级下册计算机作业,科学(四年级下册)作业.doc
  6. 10个可以实现高效工作与在线赚钱的 AI 工具网站
  7. 个人邮箱怎么注册,商业人士用哪个邮箱,邮箱使用全攻略!
  8. Win11 封杀第三方浏览器工具,不用 Edge 就不行
  9. 棋盘覆盖问题(分治)
  10. QT 读取csv文件-QT根据显示器大小设置窗口大小-QT绑定信号与槽