SGOI11之《数的朗读》解题报告
          

题目描述
  按照读数规则读出给定的数(其绝对值小于10亿)。

分析

  题目中的读数规则较为复杂,分析一下可以发现:对于任意一个数,可以首先对符号位进行处理,若有负号就读出'F'。然后按读数规则读出整数部分。如果有小数部分,则先读出小数点'D',然后依次读出小数部分的每一个数字。

  问题的难点就在于整数部分的朗读,可以分为两种情况:
  (1) 若没有整数部分或整数部分全是零,则直接读出'0'。
  (2) 否则,以数量单位拼读出整数部分;可将整数部分从右向左,每四位分为一段。再从左到右依次读出,并在结尾加上亿'Y'或万'W'。在读数过程中,应注意对于每一段连续的零,只读一个零;若某段连续的零的左侧或右侧不存在非零数字,则这一段零不可以读出。

小结
  这一题规则较为复杂,对字符处理时应仔细,注意考虑特殊情况。

附:源程序参见 ah02t1.pas


 
 
网站导航 | 关于曙光 | 联系我们 | 请提意见
Copyright © FuJian Sunshine Educational Info. Co.,Ltd.
福建曙光教育资讯有限公司 版权所有