ny643 发短信 stl库 map函数
发短信
- 描述
-
下图是手机常用的九键英文输入法界面,如果要输入字母'A',我们只需要按一次数字键2,按键顺序记为2;如果要输入字母'B'的话,我们需要连续按两次数字键2,按键顺序记为22;同理:字母'C’需要连续按3次数字键2,按键顺序记为222。通过这种方法,我们用手机10多个键就能输入26个英文字母。现在你的任务是统计一段英文用手机输入的按键顺序,同样,你也要能把按键顺序翻译成相应的英文内容。为了使问题简化,我们假设内容只有大写英文字母和空格。输入 有多组测试数据
每组测试数据占一行,有两种情况:
(1)短信内容(只含有若干个空格和大写字母,不超过1000个字符)
(2)短信按键顺序(只含有若干空格和数字,其中第一个肯定是数字,不超过1000个字符) 输出 对于每组测试数据:
如果是短信内容,输出每个字母的按键顺序,每个字母的按键顺序用空格隔开
如果是按键顺序,输出它代表的内容样例输入- I LOVE YOU
- HELLO WORLD
- 444 0 555 666 888 33 0 999 666 88
- 44 33 555 555 666 0 9 666 777 555 3
样例输出
- 444 0 555 666 888 33 0 999 666 88
- 44 33 555 555 666 0 9 666 777 555 3
- I LOVE YOU
- HELLO WORLD
编译代码:刚学c++,借用的库:
- #pragma warning(disable:4786)
- #include<iostream>
- #include<stdio.h>
- #include<string>
- #include<cstring>
- #include<map>
- using namespace std;
- map<string,string>m;
- map< string , string >::iterator it ;
- void init()
- {
- m[""] = " " ;
- m[""] = "A" ; m[""] = "B" ; m[""] = "C" ;
- m[""] = "D" ; m[""] = "E" ; m[""] = "F" ;
- m[""] = "G" ; m[""] = "H" ; m[""] = "I" ;
- m[""] = "J" ; m[""] = "K" ; m[""] = "L" ;
- m[""] = "M" ; m[""] = "N" ; m[""] = "O" ;
- m[""] = "P" ; m[""] = "Q" ; m[""] = "R" ; m[""] = "S" ;
- m[""] = "T" ; m[""] = "U" ; m[""] = "V" ;
- m[""] = "W" ; m[""] = "X" ; m[""] = "Y" ; m[""] = "Z" ;
- m[" "] = "" ;
- m["A"] = "" ; m["B"] = "" ; m["C"] = "" ;
- m["D"] = "" ; m["E"] = "" ; m["F"] = "" ;
- m["G"] = "" ; m["H"] = "" ; m["I"] = "" ;
- m["J"] = "" ; m["K"] = "" ; m["L"] = "" ;
- m["M"] = "" ; m["N"] = "" ; m["O"] = "" ;
- m["P"] = "" ; m["Q"] = "" ; m["R"] = "" ; m["S"] = "" ;
- m["T"] = "" ; m["U"] = "" ; m["V"] = "" ;
- m["W"] = "" ; m["X"] = "" ; m["Y"] = "" ; m["Z"] = "" ;
- }
- void fun(char a[])
- {
- it = m.find(a) ;
- if( it != m.end() )
- cout<<it->second<<" ";
- }
- void fuu(char a[])
- {
- it = m.find(a) ;
- if( it != m.end() )
- cout<<it->second;
- }
- int main()
- {
- char str[],s[];
- init();
- int i=,j,k,n;
- while( gets(str)!=NULL)
- {k=;
- if(str[]>='' && str[]<='')//判断输入的是数字还是字符
- {n=;
- int x=strlen(str);//把接收到的字符串都转化成单个的短字符串
- for(i=; i<x; i++)
- {
- if(str[i]!=' ')
- {
- s[n++]=str[i];
- if(i==x-)
- {s[n]='\0';fuu(s);}
- }
- else
- {
- s[n]='\0';n=;
- fuu(s);
- }
- }
- }
- else
- {
- for(j=;str[j]!='\0';j++)//如果是字符则一个一个的都赋值,一个字符就是一个字符串,包括空格;
- {
- s[]=str[j];s[]='\0';
- fun(s);
- }
- }
- cout<<endl;
- }
- return ;
- }
- I LOVE YOU
ny643 发短信 stl库 map函数的更多相关文章
- PhpSms 稳定可靠的php短信发送库
可能是目前最聪明.优雅的PHP短信发送库了.从此不再为各种原因造成的个别短信发送失败而烦忧! phpsms的任务均衡调度功能由toplan/task-balancer提供. GitHub地址:http ...
- iOS中如何切换到发短信、打电话、发邮件
我们在做APP的时候,难免会遇到需要调用短信,电话等程序的时候.如美团. 当然,这些都只是一些简单的方法就可以实现,但是时间久了也会淡忘,所以想写这边博客.一是为了再捡起来复习一下,另一个相当于留个备 ...
- iOS开发中打电话发短信等功能的实现
在APP开发中,可能会涉及到打电话.发短信.发邮件等功能.比如说,通常一个产品的"关于"页面,会有开发者的联系方式,理想情况下,当用户点击该电话号码时,能够自动的帮用户拨出去,就涉 ...
- [stm32] SIM808模块之发短信\GPS\TCP\HTTP研究
SIM8008是四频模块,全球可用.含有TTL电平接口等接口,能够实现发短信.打电话.GPRS传输数据.GPS等功能.[正版资料请找beautifulzzzz·博客园] 一些细节: >> ...
- ios 设置亮度、声音;调用发短信、邮件、打电话
一,设置亮度 [[UIScreen mainScreen] setBrightness:0.5];//0.0~1.0 二,设置声音 1,添加 MediaPlayer.framework 框架 2,在需 ...
- PHP发短信 PEAR 包:Services_Sms
PHP发短信 PEAR 包:Services_Sms 对于这种第三方库,PHP官方称之为PEAR,需要按照PEAR标准开发(标准URI). PEAR的优势:一键安装到php/lib/php目录,req ...
- 打电话、发短信、web以及发邮件
#import "ViewController.h" #import <MessageUI/MessageUI.h> //导入信息UI库 @interface View ...
- iOS开发——UI进阶篇(七)程序启动原理、打电话、发短信
一.Info.plist常见的设置 1.建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 ...
- IOS 开发,调用打电话,发短信,打开网址
IOS 开发,调用打电话,发短信,打开网址 1.调用 自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString: ...
随机推荐
- FFmpeg源码结构图 - 编码
===================================================== FFmpeg的库函数源码分析文章列表: [架构图] FFmpeg源码结构图 - 解码 FFm ...
- 动态布局中RadioGroup的RadioButton有时候不相互排斥的原因
近期在做一个答题类的模块,有单选.简答.调查问卷等,我是用动态布局的方式生成答题项的.在弄单选的时候遇到一个比較奇葩的问题,在代码中生成RadioGroup和RadioButton的时候.会发现不能相 ...
- oracle 批量更新之update case when then
oracle 批量更新之update case when then CreationTime--2018年8月7日15点51分 Author:Marydon 1.情景描述 根据表中同一字段不同情况 ...
- 科普:TLS、SSL、HTTPS以及证书(转)
最近在研究基于ssl的传输加密,涉及到了key和证书相关的话题,走了不少弯路,现在总结一下做个备忘 不少人可能听过其中的超过3个名词,但它们究竟有什么关联呢? TLS是 传输层安全协议(Transpo ...
- Java设计模式中的单例模式
有时候在实际项目的开发中,我们会碰到这样一种情况,该类只允许存在一个实例化的对象,不允许存在一个以上的实例化对象,我们将这种情况称为Java设计模式中的单例模式.设计单例模式主要采用了Java的pri ...
- UpdatePanel的用法详解
摘自:http://www.cnblogs.com/shangxia/articles/2281782.html 一.UpdatePanel的结构 <asp:ScriptManager ID=& ...
- 入门Nginx
一.正向代理和反向代理 正向代理举例:翻越万里长城去游览墙外的景色 反向代理举例:负载均衡 正向代理和反向代理涉及三个主体: 请求方 代理 被请求方 正向代理中,代理跟请求方是一家子,请求方说要啥,代 ...
- 简述Android触摸屏手势识别
很多时候,利用触摸屏的Fling.Scroll等Gesture(手势)操作来操作会使得应用程序的用户体验大大提升,比如用Scroll手势在 浏览器中滚屏,用Fling在阅读器中翻页等.在Android ...
- SVN 使用学习记录
一.基本SVN操作 安装了SVN之后,在本机上点击右键,就能够看到如下信息: 1.建立SVN Repository 下面来建立一个SVN Repository.这个文件夹是同步用的,你可以放在本机的任 ...
- Linux命令-终止进程命令:kill
kill -l 查看进程信号 常用信号 例如: 例子参见:Linux命令-查看进程命令:pstree