#include <iostream>
#include <stdio.h>
#include <string>
#include <vector>
#include <sstream>
#include <stack>
using namespace std;
/*
问题:给定一个整数,打印该整数的英文描述(例如 "One Thousand,Two Hundred-Thirty Four")
分析:等同于一个有规则的翻译。
3 Three
34 Thirty Four
234 Two Hundred-Thirty Four【注意百和十位数之间用 “-”】
1234 One Thousand,Two Hundred-Thirty Four【注意千和百位数之间用“,”】
51234 Fifty One Thousand,Two Hundred-Thirty Four【注意万位数和千位数放在一起构成多少个千】
651234 Six Hundred-Fifty One Thousand,Two Hundred-Thirty Four【十万位和万位数,千位数放在一起,构成百位数中间百位数和十位数用“-”连接】
7651234 Seven Million,Six Hundred-Fifty One Thousand,Two Hundred-Thirty Four
【到百万,就需要把百万位单独拎出来和Million组织在一起,其余部分和几十万的处理相同】
87651234 Eighty Seven Million,Six Hundred-Fifty One Thousand,Two Hundred-Thirty Four 【千万位和百万位拎出来组成十位数并拼接Million】
987651234 Nine Hundred-Eighty Seven Million,Six Hundred-Fifty One Thousand,Two Hundred-Thirty Four
【亿位,千万位,百万位拎出来组成百位数,组成后的百位后拼接 Hunderd- , 组成后的百十个位后拼接Million】
1987651234 One Billion,Nine Hundred-Eighty Seven Million,Six Hundred-Fifty One Thousand,Two Hundred-Thirty Four
【十亿位单独拎出来,后拼接Billion】
总结规律:将提供的数字,计算出总 的位数digitNum , 计算位数 digitNum / 3 = groupNum,对每个组以3位进行划分:
百位数:
十万数到千位数:以百位数的记数方式后拼接“Thousand”
亿数到百万数:以