HDNOIP201102读数


试题描述

TTS(Text To Speech)技术已经随着电脑的普及被广泛应用于许多领域。它可以把文字转化为语音,使得人机交互更为简便。请你模仿TTS的部分功能,编一个把整数转化为汉语拼音的程序。程序文件的主名为number。
需注意以下3点:     1 结果中不能带高位无效零。例如8不能读为“lingba”或“linglingba”等,而只能读为“ba”。     2 对小于20的两位数不应读出十位的“yi”,例如17不能读为“yishiqi”,只能读为“shiqi”。     3 结果中不允许出现非规范的省略。例如123的结果不是“yiersan”,而是“yibaiershisan”。  又例如320的结果不是“sanbaier”,而是“sanbaiershi”。


输入

只有一个小于1000的正整数。

输出

只有一行输出内容,即输入整数的汉语拼音表示,不含空格。

输入示例

68

输出示例

liushiba

正好这两天不上学,来刷一刷~~~

不过这道题实在是没什么可说的了……就是特别容易忽略一些数,比如说100之类的。足够细心就能对。

 1 #include <iostream>
 2
 3 using namespace std;
 4
 5 int main()
 6 {
 7     int n,a,b,c;
 8     cin>>n;
 9     a=n/100;
10     b=n/10%10;
11     c=n%10;
12     if(a==0&&b==0)
13     {
14         if(c==1) cout<<"yi";
15         else if(c==2) cout<<"er";
16         else if(c==3) cout<<"san";
17         else if(c==4) cout<<"si";
18         else if(c==5) cout<<"wu";
19         else if(c==6) cout<<"liu";
20         else if(c==7) cout<<"qi";
21         else if(c==8) cout<<"ba";
22         else if(c==9) cout<<"jiu";
23     }
24     else if(a==0&&b==1)
25     {
26         cout<<"shi";
27         if(c==1) cout<<"yi";
28         else if(c==2) cout<<"er";
29         else if(c==3) cout<<"san";
30         else if(c==4) cout<<"si";
31         else if(c==5) cout<<"wu";
32         else if(c==6) cout<<"liu";
33         else if(c==7) cout<<"qi";
34         else if(c==8) cout<<"ba";
35         else if(c==9) cout<<"jiu";
36     }
37     else if(a!=1&&b==0&&c==0)
38     {
39         if(a==1) cout<<"yibai";
40         if(a==2) cout<<"erbai";
41         if(a==3) cout<<"sanbai";
42         if(a==4) cout<<"sibai";
43         if(a==5) cout<<"wubai";
44         if(a==6) cout<<"liubai";
45         if(a==7) cout<<"qibai";
46         if(a==8) cout<<"babai";
47         if(a==9) cout<<"jiubai";
48     }
49     else
50     {
51         if(a==1) cout<<"yi";
52         else if(a==2) cout<<"er";
53         else if(a==3) cout<<"san";
54         else if(a==4) cout<<"si";
55         else if(a==5) cout<<"wu";
56         else if(a==6) cout<<"liu";
57         else if(a==7) cout<<"qi";
58         else if(a==8) cout<<"ba";
59         else if(a==9) cout<<"jiu";
60         if(a!=0) cout<<"bai";
61         if(b==1) cout<<"yi";
62         else if(b==2) cout<<"er";
63         else if(b==3) cout<<"san";
64         else if(b==4) cout<<"si";
65         else if(b==5) cout<<"wu";
66         else if(b==6) cout<<"liu";
67         else if(b==7) cout<<"qi";
68         else if(b==8) cout<<"ba";
69         else if(b==9) cout<<"jiu";
70         else if(b==0) cout<<"ling";
71         if(b!=0) cout<<"shi";
72         if(c==1) cout<<"yi";
73         else if(c==2) cout<<"er";
74         else if(c==3) cout<<"san";
75         else if(c==4) cout<<"si";
76         else if(c==5) cout<<"wu";
77         else if(c==6) cout<<"liu";
78         else if(c==7) cout<<"qi";
79         else if(c==8) cout<<"ba";
80         else if(c==9) cout<<"jiu";
81     }
82     return 0;
83 }

读数

时间: 2024-08-06 07:31:04

HDNOIP201102读数的相关文章

1014-31-首页12-显示weibo未读数--后台运行---定时器

/** *  当app进入后台时调用 */- (void)applicationDidEnterBackground:(UIApplication *)application{    /**     *  app的状态     *  1.死亡状态:没有打开app     *  2.前台运行状态     *  3.后台暂停状态:停止一切动画.定时器.多媒体.联网操作,很难再作其他操作     *  4.后台运行状态     */    // 向操作系统申请后台运行的资格,能维持多久,是不确定的  

新浪微博客户端(21)-获取当前微博未读数并提示用户

HomeViewController.m - (void)viewDidLoad { [super viewDidLoad]; // 初始化NavigationItem [self initNavigationItem]; // 初始化TitleView [self initTitleView]; // 更新TitleView 显示名称 [self updateTitleViewDisplayName]; // 集成下拉刷新控件 [self setupPullToRefreshView]; //

指针式压力表-自动读数(Auto Read the Value of Manometer)

指针式压力表的自动读数,用摄像头对准压力计,然后实时自动地读取压力计的读数.视频效果如下视频所示,红色数字为识别到的指针读数.

SAP连接电脑串口读数(电子称,磅等数据读取)

这是几年前做的了,一直都不想分享出来,后来想想为了能够给大家点想法,献出来了... 这是一个电脑读称的方法,一般用COMM口连接的电子设备都可参考. 网上搜索MSCOMM32.OCX 1.将上面的MSCOMM32.OCX保存到系统目录下C:\Windows\SysWOW64\MSCOMM32.OCX 然后注册:REGSVR32 C:\Windows\SysWOW64\MSCOMM32.OCX 2.修改注册表: REGEDIT 在HKEY_CLASSES_ROOT\Licenses下建一项: 42

如何查看IC卡燃气表读数及余额?

现在新建的楼房都是使用IC卡燃气表,拿到房子入住时也没有见到IC卡燃气表的使用说明书,很多人可能为此而苦恼,这里就讲一下如何查看IC卡燃气表读数及余额. 产品外观 可选功能 产品优势 主要技术参数 查看IC卡燃气表读数及余额,准备IC卡及手电筒,通常燃气表都是安装在灶台下面,比较暗 搬动燃气表下面电池盖右上侧,打开电池盖 将燃气卡正面向上插入燃气表,会听到一声提示音: 上面显示的是用了多少立方米的煤气,下面显示的余额 IC卡的正确充值方法: 使用IC卡充值时,应先确认燃气表的电压是否正常,电压不

电表读数归零回滚SQL处理算法

在采集电表数据的时候,可以发现有些电表设备读数会发生回滚.这时候,如果单纯的累加计算用电量,就会出现负值.当然,这也许和电表的质量有关系. “RTQty”(当前读到的读数).“LastQty”(上次读数).“PrecedingQty”(前次读数).”ErrorFlag”(错误标示).”IncreaseQty”(增量读数).“IncreaseQtyOlder”(前次增量读数). --判断错误发生标示位 if @ErrorFlag=0 begin --错误标示位为0,那么计算本次的增量值 set @

iOS微博项目(五)- 实现超链接和时间,下拉,未读数,微博正文,评论

1. 正则表达式的使用 2. 实现超链接和时间,来源 3 下拉 1)baseTableView,用于下拉等 2)weiboTableView 多个地方都可以用到这个list 3)重构微博列表 4)下拉刷新和控制器的通信 5)下拉实现 6)显示未读数 7)加载提示 3. 显示微博正文 1)显示评论, 一开始一直不出来,调试了两天哎,后来发现是xib中有无关的label,删掉就好了... 2)显示评论数,开始评论数的section一直覆盖到了评论上面,后来发现是现在应该用 - (double) ta

关于如何控制一个页面的Ajax读数据只读一次的简单解决办法!

例如:一个页面有一个按钮,点击的时候用ajax去后台获取数据,获取成功以后返回.下次再点击的时候就不要去获取数据了. 解决办法有很多: 1.用Get方法去读数据,会缓存. 2.用jquery的data方法去手动缓存,读数据的时候判断缓存是否存在. 我的解决办法是在按钮加载的时候给按钮一个标志它未去后台获取过数据的属性(如readnot). 然后在第一次去后台获取数据成功后使用removeAttr("readnot")移除这个属性即可. 这样只要在每次点击按钮的时候判断是否存在readn

如何查看IC卡燃气表读数和剩余量?

如今新建的楼房都是使用IC卡燃气表,拿到房子入住时也没有见到IC卡燃气表的使用说明书.非常多人可能为此而苦恼.这里就讲一下怎样查看IC卡燃气表读数及剩余金额. 产品外观 可选功能 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVzdGNzX2Ru/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" /> 产品优势 主要技术參数 查看IC卡燃气表