今天在CSDN上看到一篇文章,面试题: 数字转英文 数字发音,即将罗马数字表示的数字翻译成英文表达,我试了试有道,貌似有道和博主的显示方式有点出入,刚好下午有点时间所以就做做这一题,博主那个程序是将输入参数用数字表示的,我的做法是使用字符来做:
对于数字字符串,先得到数字的长度,然后从右到左每3个数字为一组进行显示,比如,对于数字1231234,就可以分成3组,分别是1,231,234,这样从左到右一次分别显示每一组,对于1231234的三组数字,第一组为1,所以输出one million,对于第二祖231,输出ttwo hundred and thirty-one thousand,对于第三组输出two hundred and thirty-four,使用有道的朋友可能知道有道就是这么显示的。
下面就来编码实现:
1.首先是求数字字符串的长度,这个简单;
2.然后就是将每3个数字分组,最左边一组可以没有三个数字,
3.输出每一组
在编码的过程中要使用到几个数组,分别存储英文中的数字表示,这里利用上面那篇博文中的数组,稍作修改,源代码如下
#include<stdio.h>
#include<string.h>
void output