点击这里更换您喜欢的皮肤wtboj 首页
请点击这里登入noios   首页 入门 c++讲义 入门教程视频 金牌教程 入门视频 站务 公告 | 题库 记录 竞测 测试 闯关 作业 排名 团队 讨论 | 换肤 | 登入 注册  
News >>   新增功能:各团队管理员可以发布本团队作业了 ()

From sina007
数的朗读
描述 Description
    春游时小可可结识了刚回国定居的Sealock。但是Sealock在海外出生,回国后才开始学习汉语。数的朗读成为Sealock的一个难题,小可可下决心教会Sealock如何朗读绝对值小于10亿的数。
  小可可知道汉语中有如下的读数规则:
(1)首先读符号位,然后读整数部分,整数部分之后可能出现小数点,如果有小数部分则小数点一定出现、并且读出小数点之后读小数部分;
(2)符号位的读法是:
(2.1)正数,不论正号"+"是否出现,都不必读出符号位;
(2.2)负数的最左边的符号是"-",读成"负"(以"F"来表示"负");
(3)整数部分的读法是:
(3.1)如果整数部分不存在或者整数部分全是零则直接读成"零"(以"0"来表示"零")
(3.2)否则从整数部分中最左边的非零数字开始读起,然后以十、百、千、万、亿(分别以"S"、"B"、"Q"、"W"、"Y"来表示)等数量单位来拼读整数部分;
(4)整数部分中:
(4.1)每一个非零数字都必须结合各个相应的数量单位读出来;
(4.2)每一段连续的"零"只能读成一个"零",但是某一段连续的"零"的左侧或者右侧不存在非零数字(这里只考虑整数部分)则这一段"零"不应该读出来;
(5)如果有小数部分,则首先读"点"(以"D"来表示"点"),然后从左至右顺序地读出各个小数位。在读小数部分的时候不可以使用十、百、千、万、亿等数量单位;但是小数部分的每一个数字都需要读出来,连续的零不可以读成一个"零",而应该分别读出;
(6)如果数中有小数点而没有小数部分,则不应该把小数点读出来。
   例如,-0020030004.567应该读成"F2Q03W04D567",000.89应该读成"0D89"
   请你编写程序帮助小可可把给定的数正确的读出来。

输入格式 Input Format
  输入文件仅一行,存放了一个数(不超过50个字符),其绝对值小于10亿。
输出格式 Output Format
  输出文件仅一行,输出这个数的正确读法。
样例输入 Sample Input
 
样例输出 Sample Output
 
时间限制 Time Limitation
  1s
来源 Source
  AHOI2002Day1
本题目由VijosCP V0.1.1 测试版 生成 请勿删除此行
Flag
  
题号
  P1230
  其它
通过
  0人
提交
  0次
通过率
  0%
难度
  4
提交 讨论 题解
 Copyright wtboj © 2005-2006. www.wutuobang.date Powered by wtboj 关于 联系 帮助
 wtboj Information ---- Total Users : 1242 | Online Users / Processes : 0 / 101 | Processed Time : 62 ms | Server Time : 2025/4/27 16:46:48