17.7 给定一个整数,打印该整数的英文描述(例如“One Thousand,Two Hundred Thirty Four”)。

解法:

举个例子,在转换19 323 984时,我们可以考虑分段处理,没三位转换一次,并在适当的地方插入“thousand”(千)和“million”(百万)。也即,

convert(19 323 984)=convert(19)+ “ million ”+convert(323)+“ thousand ”+convert(984);

C++实现代码:

#include<iostream>
#include<string>
using namespace std; string digits[]={"One","Two","Three","Four","Five","Six","Seven","Eight","Nine"}; string teens[]={"Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"}; string tens[]={"Ten","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"}; string big[]={"","Thousand","Million"}; string numToString100(int number)
{
string str;
if(number>)
{
str+=digits[number/-]+" Hundred ";
}
number%=;
if(number>=&&number<=)
{
return str+teens[number-]+" ";
}
else if(number==||number>=)
{
str+=tens[number/-]+" ";
number%=;
}
if(number>=&&number<=)
{
str+=digits[number-]+" ";
}
return str;
}
string numToString(int number)
{
if(number==)
{
return "Zero";
}
else if(number<)
{
return " Negative "+numToString(-*number);
}
int count=;
string str=" ";
while(number>)
{
if(number%)
{
str=numToString100(number%)+big[count]+" "+str;
}
number/=;
count++;
}
return str;
} int main()
{
cout<<numToString();
}

最新文章

  1. HTTP协议(二):header标头说明
  2. html5 Worker学习
  3. 【XLL 框架库函数】 TempErr/TempErr12
  4. Web应用程序系统的多用户权限控制设计及实现-页面模块【9】
  5. HTML编程
  6. 【CodeForces 602B】G - 一般水的题2-Approximating a Constant Range
  7. 在美国看中国HTML5市场的发展
  8. register_chrdev、register_chrdev_region以及alloc_chrdev_region之间的区别
  9. C++实现String
  10. SQL Prompt 5.3.4.1
  11. ExtJS学习--------Ext.Element中的经常使用事件和其它重要的方法学习(实例)
  12. POJ 3417 Network
  13. docke镜像上传到dockerhub仓库和阿里云docker仓库的方法
  14. Java多线程Runnable与Callable区别与拓展
  15. 最短的IE判断var ie=!-[1,]分析
  16. visual studio编写C#代码时“未能从程序集.....中加载类型”和“找不到方法”的一种可能的解决办法
  17. 【CSS】按钮的禁用与可用 CSS Cursor 属性
  18. Shiro中的Rememberme后出现浏览器500错误
  19. 成员变量传参,jion方法的使用
  20. mybatis批量更新update-设置多个字段值 报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

热门文章

  1. NOI2005维修数列
  2. Shell Script Tutorials (0 ~ 62)
  3. 纯干货,Spring-data-jpa详解,全方位介绍
  4. boostrap兼容ie及其案例
  5. C语言数组和指针的理解_在取地址运算上的操作_指针加减操作_a 和&amp;a 的区别
  6. 【原创】batch-GD, SGD, Mini-batch-GD, Stochastic GD, Online-GD -- 大数据背景下的梯度训练算法
  7. [转载]C#基础-Func,Action
  8. Spring 教程(二)
  9. 《深入Java虚拟机学习笔记》- 第3章 安全
  10. 同样的JS写法,为啥只有IE9模式正常?