黑马程序员技术交流社区
标题:
一道面试题
[打印本页]
作者:
白痴程序猿
时间:
2013-7-28 15:56
标题:
一道面试题
本帖最后由 杨兴庭 于 2013-7-29 11:12 编辑
一道算法题,给出一个数字,如: 345678,写一段程序把它转换成大写汉字,也就是 三十四万五千六百七十八.我说我不会,他说效率最高的一种办法是除以10,但我还是不明白.求指教.
作者:
王磊
时间:
2013-7-28 16:27
由于这是一道面试题,就不给楼主写代码了。只给楼主讲一下我的思路吧。
这道题可以参考毕老师基础视频的前几天里的一个2进制转换的代码来写,也就是查表法,使用创建出来一张汉字大写的对照表,以及单位表,用指针变量进行控制。
而所谓的高效是除以10,个人认为是先%10在除以10,%10会取到当前数字的最后一位,而除以是会移除当前数字的最后一位。也就是说通过循环来分别对每次取出的最后一位进行查表转换操作。而转换以后,将这个位数移除,使它的前一位变成当前的最后一位。
只是一些思路,希望可以帮到楼主。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2