NYOJ 643 发短信
发短信
- 描述
-
下图是手机常用的九键英文输入法界面,如果要输入字母'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
-
直接模拟!
-
AC码:
-
#include<stdio.h> #include<string.h> int main() {int i,a,b,j,count;char str[1005],ch;while(gets(str)){if((str[0]>='A')&&(str[0]<='Z')||str[0]==' '){for(i=0;str[i]!='\0';i++){if(str[i]==' '){printf("0 ");}else if(str[i]>='A'&&str[i]<='R'){a=(str[i]-'A')%3+1;// a为按键次数b=(str[i]-'A')/3+2;// b为按的数字for(j=1;j<=a;j++)printf("%d",b);printf(" ");}else if(str[i]=='S')printf("7777 ");else if(str[i]>='T'&&str[i]<='Y'){a=(str[i]-'T')%3+1; // a为按键次数b=(str[i]-'T')/3+8; // b为按的数字for(j=1;j<=a;j++)printf("%d",b);printf(" ");}else if(str[i]=='Z')printf("9999 ");}printf("\n");}else{for(i=0;str[i]!='\0';i++){if(str[i]==' ')continue;if(str[i]=='0')printf(" ");if(str[i]>='2'&&str[i]<='7'){count=0;a=str[i]-'0';while(str[i]>='0'&&str[i]<='7'){count++;i++;}ch=(a-2)*3+'A'+(count-1);printf("%c",ch);}else if(str[i]>='8'&&str[i]<='9'){count=0;a=str[i]-'8';while(str[i]>='8'&&str[i]<='9'){count++;i++;}ch=a*3+'T'+(count-1);printf("%c",ch);}}printf("\n");}memset(str,0,sizeof(str));}return 0; }
NYOJ 643 发短信相关推荐
- NYOJ 643 发短信 暴力求解
发短信 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 下图是手机常用的九键英文输入法界面,如果要输入字母'A',我们只 需要按一次数字键2,按键顺序记为2:如果要输入字 ...
- java 短信平台_Java通过SMS短信平台实现发短信功能
本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信,3条免费彩信,这足够用于我们测试用了.在使用前需要注册,注册地址为http://sms.webchinese. ...
- 刚刚入手一台G11,发短信是老是出现“发送自HTC手机”字样
刚刚入手一台G11,发短信是老是出现"发送自HTC手机"字样 我的手机:HTC,G11 Incredible S 问题类型:系统设置 怎么把它取消了? 最佳答案 进入短信 -> ...
- 猫猫学iOS(四十五)之常用的小功能比如打电话、打开网址、发邮件、发短信打开其他应用。...
猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 简介 iOS中的很多小功能都 ...
- 原生js实现发短信~chat
首先给大家说一声抱歉,小编最近和女朋友闹矛盾,断更了一周呀 唉,实在是罪过呀,不远两千多公里从北京跑到广州,哄女朋友开心,我也没谁了 宝宝心里苦,宝宝就是不说. 好了,言归正传,咱们回到就是实现发短信 ...
- 常用小功能(打电话、发短信、发邮件)
打电话-⽅方法1 ● 最简单最直接的⽅方式:直接跳到拨号界⾯面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApp ...
- python软件是免费的吗-谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信...
前言 之前发过一篇文章,用 Python 制作的给父母天气预报提醒的小工具天气变冷了,给父母制作一个天气提醒小助手,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法 ...
- 利用飞信给自己发短信的shell脚本
利用飞信给自己发短信的shell脚本翻译自一个python脚本因为openwrt要装python太大了.所以用了两天非工作时间 翻译成了 shell脚本 .测试可用. http://dl.dbank. ...
- android通话记录列表apk,android打电话,发短信,获取通讯录、通话记录、短信记录...
[实例简介] 代码实现android打电话,发短信,获取通讯录.通话记录.短信记录 [实例截图] [核心代码] 19287b5f-b70c-4210-ab04-9d24ddd60788 └── cal ...
最新文章
- java capacity_关于Java中StringBuffer的capacity问题
- mysql字符集排序规则_Mysql 字符集及排序规则
- JDK源码解析之 Java.lang.Object
- 魅族17系列正式发布:17年梦想之作,3699元起
- JavaSE学习总结(八)—— 异常处理(Exception)
- 没有计算机基础可以学python-零基础,没有编程和计算机基础,究竟该怎么自学python?...
- free 显示系统内存的使用情况
- blender 命令行渲染
- “手把手教你设计”—12个最佳手机APP界面设计教程
- 对于同一个数据库,Log shipping和log backup不可以同时运行
- GC日志详解[乐乐独记]
- Ubuntu burg
- 2022全新好玩的恶搞屁声音小程序源码+UI不错
- 我对计算机网络技术的理解,计算机网络技术教学总结
- 蓝屏代码: DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS bootsafe64.sys
- 前端ui框架layui——layer弹出层-弹出框方法
- python画魔法阵_半年了,这画我已经找不出什么出错的地方了,诚心请大佬们指点,我如何能更进一步?...
- bga封装扇出过孔_手把手教你BGA元器件如何扇出?-EDA/PCB-与非网
- java 小数点左移_规格化数尾数左移解决什么问题
- netmask的作用