数字发音
来源:互联网 发布:清华大学化学系 知乎 编辑:程序博客网 时间:2024/06/09 23:15
有一个非负整数,请编写一个算法,打印该整数的英文描述。
给定一个int x,请返回一个string,为该整数的英文描述。
测试样例:
1234
返回:"One Thousand,Two Hundred Thirty Four"
思路:判断数的范围,根据范围打印出相应的数值。有一点需要注意,就是逗号的选择,我是加了1个 条件判断,x/N(N=million,billion,thousand,hundred,ten), 判断余数是否是0,进行选择性的 打印","或""class ToString {public: string belowTen[10]={"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"}; string belowTwenty[10]={"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"}; string belowHundred[10]={"","Ten","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"}; string toString(int x) { return fun(x); } string fun(int x) { string res=""; string t=""; if(x<=0)return ""; else if(x<10) res=belowTen[x]; else if(x<20) res=belowTwenty[x-10]; else if(x<100) res=belowHundred[x/10]+(t=(x%10)>0?" ":"")+belowTen[x%10]; else if(x<1000) res=fun(x/100)+" Hundred"+(t=(x%100)>0?" ":"")+fun(x%100); else if(x<1000000) res=fun(x/1000)+" Thousand"+(t=(x%1000)>0?",":"")+fun(x%1000); else if(x<1000000000) res=fun(x/1000000)+" Million"+(t=(x%1000000)>0?",":"")+fun(x%1000000); else res=fun(x/1000000000)+" Billion"+(t=(x%1000000000)>0?",":"")+fun(x%1000000000); return res; }};
阅读全文
0 0
- 数字发音
- 数字发音
- 数字发音
- 关于数字0的发音
- 面试题: 数字转英文 数字发音
- 《Cracking the Coding Interview程序员面试金典》----数字发音
- SQL发音
- 希腊字母发音
- 发音校正
- 术语发音
- 中英文发音
- 希腊语发音
- 英语发音
- C#发音
- 日语发音
- 罗马字母发音
- 韩语发音
- 鼻音发音
- HTML标签及使用
- 清北学堂-D2-T3-plutotree
- IntelliJ IDEA使用教程 (总目录篇)
- Python3.5基础——面向对象与继承
- 线下活动【西安站】用Leangoo做Scrum敏捷开发实战课(免费)
- 数字发音
- python获取当前路径
- bzoj1012-(线段树)
- Android学习-常见的UI控件 Button和ImageButton
- redis复习(一):基本知识点----安装、基本数据类型和相关操作
- 链表 c
- CodeBlocks的安装及使用
- 物理引擎中的constraints
- 【Android学习】Day 1