自动发声报数器,要代码和解释

lipengfie 2012-03-10 03:11:51
题目描述
乐天堂游戏公司推出了一款具有语音报分功能的新款游戏机。该游戏机在游戏结束后报告玩家获得的分数。你正好是开发小组中一员,并且负责对给定的分数得出它的中文读音这个模块的任务。 也就是说,给定一个整数,请你输出这个数字的发音应该念成哪几个字。
输入
第一行包含一个整数n(1≤n≤200)表示测试用例的个数。其后的n行中,每行包含有一个整数k(0≤k<100000)。
输出
每个测试用例的输出单独占一行,输出整数k的发音对应的文字。0-9还是以数字形式输出,十百千万分别用它们的拼音的第一个字母的大写表示,即为S、B、Q、W。
样例输入
5
0
10
203
1008
12345
样例输出
0
1S
2B03
1Q08
1W2Q3B4S5
...全文
461 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq296571277 2012-03-29
  • 打赏
  • 举报
回复
原来是短数版·
qq296571277 2012-03-29
  • 打赏
  • 举报
回复
大家帮帮LZ吧
我那道题WA得我要死
适合大、中、小各类型网吧使用。网吧语音服务大师原名蓝宝石呼叫网管系统,本软件经过近一年的不断开发和必进,目前已升级到V5.0版。目前功能性、实用性、稳定性、应用范围等方面都遥遥领先于同类型软件,是名副其实的网吧语音服务大师。V5.0至强版采用全新的设计,相比以前各版本,V5.0最完整、最稳定、最强大,几乎可以满足网吧所有语音呼叫的需求。集成语音呼叫网管、呼叫服务员、呼叫技术员、文字呼叫、商品销售、网吧点歌、网吧公告、定时播音、服务台呼叫、空机提示、发送消息、客户端歌曲播放、客户端上传歌曲、次服务端管理等诸多功能于一体,适合大、中、小各类型网吧使用。 本程序主服务端具有强大的设置功能,能根据你网吧的实际情况,设置你自己的呼叫方案;可以进行有声、无声、真人发声等各种类型的呼叫;可以根据网吧实际情况,自由设置客户端显示的相关功能;可以正确的报出任意长度、任意数字字母组合的机号或分区号;可以设置各种定时播音;可以发送各种消息和公告;可以在服务端批量审核批准客户端上传的歌曲;客户端可以自动显示服务端上的商品图片;本软件的所有设置和对客户端的控制,均在主服务端上进行,客户端程序不需要作任何设置,也不需要任何数据同步,非常方便网吧进行集中式管理! 网吧语音服务大师V5.0新的程序架构,程序包括一个主服务端;自由定义个数的次服务端(根据服务台个数自己定义);客户端也由原来的集成界面,改为网吧呼叫、网吧点歌、网吧售货三个分开的独立程序,可以自由在客户机上选择使用相应功能。 本软件实际应用效果证明,节省了网吧人力开支,增加了网吧商品销售,更为重要的是提高了网吧服务质量,是一家优秀网吧必备的工具性软件! 【更新日志】 网吧语音服务大师 V8.2 1、主服务端商品管理重写,将之前两个分开的界面,集成为一个界面进行新增、修改及入库等操作,大大提高了商品管理效率。 2、顾客上传歌曲主服务端增加了语音提醒功能。 3、定时播音增加了批量新增、批量修改、批量删除功能,能快速设置循环播报的语音,同时修正了不受限制的随意设置定时播音时间的BUG。 4、主服务端抽奖时,当每个奖项产生时,都增加了语音播报功能,能报具体机号或卡号所抽中的各个不同奖项,同时修正了一个奖项的数量全部抽完了还能继续抽取的问题。 5、主服务端和次服务端增加点歌数量限制,与顾客点歌数量一致,并且次数服务端与主服务端点歌数量自动相加,以防止开多个次服务端反复点歌而不受限制。 6、歌曲管理中增加了按播放时长排序及按歌曲位置(所在文件夹)排序的功能,以便于进行按文件夹管理,和设置某个文件夹全部为允许自动播放的歌曲。 7、修正了点歌播报机号时,当机号很多时长时间报不停的问题。 8、次服务端登录输入密码时,增加记住密码功能,加快登录速度。 9、顾客购买商品消息发送到主服务端,不需要点击信息,右侧自动显示最新的找零信息,不用担心找错零钱。 10、歌曲录入后,没有设置允许自动播放的歌曲时,在点歌界面增加了彩色提示框。 11、修正了各个数据导出时,本应是保存而变成打开的BUG。 12、修正了主服务端显示在线机号可能会出现重名或重复的问题。 13、客户端点歌双击增加提示功能。 14、客户端呼叫、点歌、销售商品等都取消了远程升级功能,优化了客户端启动代码,程序启动响应速度提升30%以上。 15、客户端涉及到数据同步的,更多使用了主服务端的FTP功能(如:上传歌曲、商品图片、客户端播放等),务必确保主服务端自带的FTP功能正常启动和可以使用。 16、主服务端增加了三层更新功能(必须确保主服务端所在的电脑能连接外网才可使用)。
51单片机基础应用设计C语言实例(400例)合集: 10-LED循环左移 100-24c02记忆开机次数 101-24c02存储上次使用中状态 102-DS1302 时钟原理 103-DS1302可调时钟 104-DS1302时钟串口自动更新时间 105-1602液晶显示DS1302时钟 106-字库ST7920 12864液晶基础显示 107-按键 12864显示 108-PCF8591 1路AD数码管显示 109-PCF8591 4路AD数码管显示 11-LED循环右移 110-PCF8591 DA输出模拟 111-PCF8591 输出锯齿波 112-PCF8591 1602液晶显示 113-串口通讯 114-串口通讯中断应用 115-RS485基本通讯原理 116-红外接收原理 117-红外解码数码管显示 118-红外解码1602液晶显示 119-红外发射原理 12-查表显示LED灯 120-红外收发测试 121-双红外发射避障原理测试 122-1个18B20 温度传感 数码管显示 123-1个18b20温度传感1602液晶显示 124-多个18b20温度传感1602液晶显示 125-超温报警测试 126-温度可调上下限1602 126-温度可调上下限1602显示 127-PS2键盘输入1602液晶显示 128-双色点阵1种颜色显示测试 129-双色点阵2种颜色显示测试 13-双灯左移右移闪烁 130-双色点阵显示特定图形 131-双色点阵交替图形显示 132-双色点阵双色交替动态显示 133-热敏电阻测试数码管显示 134-光敏电阻测试数码管显示 135-自动调光测试 136-串转并数字芯片测试 137-非门数字芯片测试 138-电子琴 139-实用99分钟倒计时 14-花样灯 140-外部频率测试 141-定时做普通时钟可调 142-1602液晶显示的密码锁 143-实用密码锁 144-1602液晶显示的计算 145-秒表 146-串口测温电脑显示 147-交通灯测试 148-点阵模拟电梯上行下行 149-点阵流动广告模拟 15-PWM调光 150-综合测试程序 151-12位AD_DS1621与12864液晶 152-闪烁灯一 153-闪烁灯二 154-流水灯A 155-51单片机12864大液晶屏proteus仿真 156-流水灯B 157-数码管显示 158-12864LCD显示计算键盘按键实验 159-数码管显示(锁存) 16-共阳数码管静态显示 160-数码管动态显示 161-数码管滚动显示 162-数码管字符显示 163-独立按键 164-矩阵键盘 165-矩阵键盘(LCD) 166-用DS1302与12864LCD设计的可调式中文电子日历 167-定时的使用(方式1) 168-12864LCD图形滚动演示 169-用PG12864LCD设计的指针式电子钟 17-1个共阳数码管显示变化数字 170-定时的使用(方式2) 171-外部中断的使用 172-定时和外部中断 173-开关控制12864LCD串行模式显示 174-点阵显示 175-液晶1602显示 176-12864带字库测试程序 177-串行12864显示 178-遥控键值解码-12864LCD显示 179-液晶12864并行 18-单个数码管模拟水流 180-液晶12864并行2 181-串口发送试验 182-串口接收试验 183-串口接收(1602) 184-蜂鸣发声 185-直流电机调速 186-蜂鸣间断发声 187-lcd-12864应用 188-继电控制 189-直流电机调速 19-按键控制单个数码管显示 190-步进电机 191-存储AT24C02 192-PCF8591T AD实验 193-PCF8591T芯片DA实验 194-温度采集DS18B20 195-EEPROM_24C02 196-12864LCD显示24C08保存的开机画面 197-红外解码 198-12864LCD显示EPROM2764保存的开机画面 199-时钟DS1302(LCD) 2-IO输出-点亮1个LED灯方法2 20-单个数码管指示逻辑电平 200-宏晶看门狗 201-SD卡 202-秒表 203-普通定时时钟 204-彩屏控制 205-彩屏图片显示 206-12864+DS1302时钟+18B20温度计 207-12864测试程序 208-12864串行驱动演示 209-12864生产厂程序 21-8位数码管显示其中之一 210-12864中文显示测试 211-LCD12864 212-12864M液晶显示(有字库)程序(汇编) 213-超声波测距LCD12864显示 214-红外遥控键值解码12864液晶显示(汇编语言)
51单片机数字电压表设计 题目要求: 1. 设计要求 以单片机为核心,设计一个数字电压表。采用中断方式,对2路0~5V的模拟电压进行循 环采集,采集的数据送LED显示,并存入内存。超过界限时指示灯闪烁。 2. 实验原理 本题目本质上是以单片机为控制,ADC0809为ADC件的AD转换电路,设计要求的电压 显示,是对ADC采集所得信号的进一步处理。 为得到可读的电压值,需根据ADC的原理,对采集所得的 信号进行计算,并显示在LED上。本项目中ADC0809的参考电压为+5V,根据定义,采集所 得的二进制信号addata所指代的电压值为: 而若将其显示到小数点后两位,不考虑小数点的存在(将其乘以100),其计算的数值为 : 。将小数点显示在第二位数码管上,即为实际的电压。 本示例程序将1.25 V和2.5 V作为两路输入的报警值,反映在二进制数字上,分别为0x40和0x80。当AD结果超过这一 数值时,将会出现二极管闪烁和蜂鸣发声。 运行截图: 程序代码: #include #include //定义绝对地址访问 #include #define uchar unsigned char #define uint unsigned int sbit RS=P1^7; //定义LCD1602端口线 sbit RW=P1^6; sbit EN=P1^5; sbit ST=P3^7; //定义0808控制线 sbit OE=P3^6; sbit EOC=P1^3; sbit CLK=P1^4; sbit buzzer = P1^1; //喇叭 sbit alarm = P1^2; //led uchar data chnumber; //存放当前通道号 uchar disbuffer[4]={0,'.',0,0}; //定义显示缓冲区 uchar data ad_data[8]={0,0,0,0,0,0,0,0}; //0808的8个通道转换数据缓冲区 uint temp; //检查忙函数 void fbusy() { P0 = 0xff; RS = 0; RW = 1; EN = 1; EN = 0; while((P0 & 0x80)) { EN = 0; EN = 1; } } //写命令函数 void wc51r(uchar j) { fbusy(); EN = 0; RS = 0; RW = 0; EN = 1; P0 = j; EN = 0; } //写数据函数 void wc51ddr(uchar j) { fbusy(); //读状态; EN = 0; RS = 1; RW = 0; EN = 1; P0 = j; EN = 0; } void init() { wc51r(0x01); //清屏 wc51r(0x38); //使用8位数据,显示两行,使用5*7的字型 wc51r(0x0c); //显示开,光标开,字符不闪烁 wc51r(0x06); //字符不动,光标自动右移一格 } /********0808转换子函数********/ void test() { uchar m; for (m=0;m<8;m++) { P3=m; //送通道地址 ST=0;_nop_();_nop_();ST=1;_nop_();_nop_();ST=0;//锁存通道地址启动转换 _nop_();_nop_();_nop_();_nop_(); while (EOC==0); //等待转换结束 OE=1;ad_data[m]=P2;OE=0; //读取当前通道转换数据 } } //************延时函数************ void delay(uint i) //延时函数 { uint y,j; for (j=0;j器/计数T0产生0808的时钟 void T0X(void)interrupt 1 using 0 { CLK=~CLK; } void main(void) { uchar i; uint temp1; SP=0X50;TMOD=0x02;TH0=246;TL0=246; ET0=1;EA=1;TR0=1; delay(10); init(); //lcd显示初始化 wc51r(0x80); //写入显示缓冲区起始地址为第1行第1列 wc51ddr('V'); //第1行第1列显示字母 V wc51ddr('A'); //第1行第2列显示字母 A wc51ddr('L'); //第1行第3列显示字母 L wc51ddr('U'); //第1行第4列
题目一:基于μc/os-Ⅱ的多任务实现 一、 基本要求(必做) 以实验二十二为基础,做如下的改进。 1) 求出四路通道的平均值,并绘制在显示屏上(平均值应该象其他通道的值一样,可以根据实时采集值的变化而变化)。 2) 报警,在超出阈值时报警一次,如果此后此通道的值不变则不再报警,若此通道的值被调小为小于阈值而后又被调为大于阈值,则再次报警一次。 3) 结合实验十八,设置时间和日期初值,并实时显示在LCD上(同各通道的值同屏显示)。并能够在整点的时候发声提示。 二、 提高要求(选做) 在基本要求的基础上结合实验七,利用四路通道平均值的大小控制电机的转动速度,使电机实时转动。 三、 参考资料 实验7、电机转动实验;实验8、音频实验;实验18、多任务与时钟;实验22、多任务与A/D转换。 题目二:游戏设计(以游蛇吃豆为例) 功能描述:开始蛇向右方移动。按键盘上定义的上下左右键,蛇改变游动的方向,可以上下左右游动。蛇不能碰到图中的灰色栅栏,如碰到游戏结束。若蛇碰到图中一粒豆子,则豆子被蛇吃掉,图中的豆子消失,蛇深变长。 最终所有的豆子都被吃掉,游戏结束。 要求: (1) 必须改进游戏的界面,增加显示相关的统计信息。左边的显示区保持不变,右边动态显示积分和总时间统计信息,其中积分栏目显示当前已经吃下的豆子数目,总时间显示本局游戏从开始到现在经过的时间。 (2) 优化主程序,注意CPU和内存的使用效率。 (3) 考虑一个合理的得分算法,得分值应该取决于吃下去的豆子和游戏持续的时间。 (4) 得分可以在发光二极管上显示出来。 运行指导: (1) 系统启动后首先显示一个LOGO图片,大约2秒钟后图片自动消失,游戏开始。 (2) 按“2”键蛇向上游动,按“5”键蛇向下游动;按“4”键蛇向左游动;按“6”键蛇向右游动。 (3) 按“3”键游戏暂停,再次按下游戏继续进行。 按“1”键游戏重新开始。 注意:选作游戏的同学可以考虑实现俄罗斯方块、华容道、打鼹鼠等游戏中的一个或多个。 题目三:shell设计 一、 基本要求(必做) 1) 设计并实现μc/os-Ⅱ的shell模型。 2) 实现简单的Shell命令 hostname命令在屏幕上打印一句话,即自定义的本机名称。 hello 命令可以带多个参数,如hello a b c d,回车后会显示: hello,I am Genie your argv is: a b c d (3)实现在串口和LCD的同步显示,即所有的命令操作过程都要显示在串口和LCD上。 四、 提高要求(选做) 自己设计几条新的命令,比如输入time即可显示时间,输入data即可显示日期或者可以通过命令设置时间和日期等。 五、 参考资料 1) GenieshellforUCOSII详细说明及使用指南.doc 2) Dos的命令模型。 3)实例代码。 题目四:世界时钟 功能:多功能时钟软件,根据使用者的需要,随时选择显示世界上各个时区的当前时间。 要求: (1) 对每个城市(例如:北京、东京、巴黎、纽约、德黑兰等)建立一个任务,显示当地时刻,时差准确,但是当前时刻不要求很准确。 (2) 显示方式两种:文本方式,图形方式 (3) 图形方式下有时钟和城市的背景图。 题目五:计算 功能:小型简易计算软件。运算对象:5位整数;运算操作:加减运算。 要求: (1) 自定义键位,键盘可接受加号、减号、等号和回车确认的输入。 (2) 接受第一操作数的输入,回车输入为结束。 (3) 接受加号或减号的输入。 (4) 接受第二操作数的输入,回车输入为结束。 (5) 接受等号的输入。 (6) 计算。 (7) 显示结果。 注意:可以自行设计计算界面。 题目六:数值转换 功能:接受4位十六进制数输入并显示,然后转换成八进制数并显示。 要求: (1) 自定义键位,键盘可接受0-9,A-F,H以及回车确认的输入。 (2) 接受4位十六进制数的输入,加H和回车确认表示输入结束。 (3) 检验数值输入的合法性,如果有错误重新执行执行(2),否则执行(4)。 (4) 数制转换计算 (5) 显示结果。 注:可以自行设计界面。 题目七:单行编辑工具 功能:简单的英文行编辑,能够编辑纯英文的文本文件。 说明: (1) 自定义键位,使得键盘可接受小写英文字母,符号键和数字键的输入。 (2) 设计一个当前光标位置的显示方式,例如:高亮度闪烁、下划线、垂直字符隔离线等。 (3) 接受各种字符的输入,可进行光标定位,可以插入和删除字符。 (4) 一行显示不了,显示在下一行。 (5) 回车键输入表示结束。 (6) 提示输入文件名。 (7) 给定文件名。 (8) 将该单行英文字符串以指定文件名和TXT文件格式存入实验平台的RAM中。 注:难度较高,难点在于光标移动和确定当前的操作字符。 (4) 题目八:交通控制信号系统 功能:具有红、绿、黄3种指示信号的单车道十字路口交通控制软件。 要求: (2) 两组信号灯,一组控制南北方向,另一组控制东西方向。每组有3盏信号灯,颜色分别为红,绿,黄。初始状态为全暗。 (3) 从某个定时开始,南北方向控制信号和东西方向控制信号同时工作。动作次序如下: ① 南北方向控制信号动作:首先绿灯亮60秒,并且从60秒倒计时为0;然后红灯亮,倒计时显示60秒,实际亮57秒,接着黄灯亮3秒。一个周期共120秒。 ② 东西方向控制信号动作:首先红灯亮,倒计时显示60秒,实际亮57秒,接着黄灯亮3秒。最后绿灯亮60秒,从60秒倒计时为0。一个周期共120秒。 (4) 周而复始地进行步骤(2)。 (5) 如果从键盘按下某个按键,则清除所有信号灯。延时20秒后,重新开始步骤 题目九:题目自拟。须在16周提交设计题目及方案。

69,378

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧