今天呢,今天决定来一道丧心病狂的题目!
来看题:
第17期. 这不是一个丧心病狂的题目
题目描述:
输入中每行以十进制形式给出一个整数N (),输出该数字在英文中的表达。
英文中数字的表达遵循如下规则:
1.0-19分别直接以如下的单词进行表达:
{
"zero","one","two","three",
"four","five","six","seven",
"eight","nine","ten","eleven",
"twelve","thirteen","fourteen","fifteen",
"sixteen","seventeen","eighteen","nineteen"
};
2.20-99,用一个单词或两个单词连接进行表达。若能被10整除则直接用一个单词进行表达:
{
"twenty","thirty","forty","fifty",
"sixty","seventy","eighty","ninety"
};
若不能被10整除,则将十位和个位用连字符连接。如23在英文中的表达为"twenty-three"。
3. 100-999,先表示百位,再表示十位和个位,并以and连接。如123在英文中的表达为"one hundred and twenty-three"
4.对于不小于1000的数字,从右向左,每三位将数字划分一次。对于每一部分,先直接表示,然后加上对应的单位。如果一部分的三个数字都是0则直接省略。如12,345在英文中的表达为"twelve thousand three hundred and forty-five"
从高位到低位,每部分的单位分别为
{
"billion",//10^9
"million",//10^6
"thousand",//10^3
""//1, needs to add nothing
};
输入:
多组用例,以EOF结束。每行以十进制形式给出一个整数N ()
输出:
对于每个输入的整数,输出一行,为该数字在英文中的表达。
输出中不允许开头,结尾或单词之间出现任何多余的空格(' ')或连字符('-')。
召唤阵:
@yhz012 @inuisanaa @ZERC @随性而为 @NianRuoshui @摸鱼奇才咖啡喵