题目描述

数字转成汉字形式

做法:

看了其他博客的写法,多多少少有问题

问题1、10001000  应该是 一千万零一千   有的博客错误的显示为 一千零万一千

问题2、10000000  应该是 一千万  有的博客错误的显示 一千万零零

问题3、100000 应该是 十万  有的博客错误的显示 一十万

问题4、100000000  应该是一亿 有的博客错误的显示 一亿万

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<string> translateToUpper(ll num)
{string upper[]={"零","一","二","三","四","五","六","七","八","九" };string up[] = {"","十","百","千","万","十","百","千","亿","十","百","千"};vector<int> nums;while (num>0){nums.push_back(num%10);num = num / 10;}vector<string> result;int hasnum=0;for (int i=nums.size()-1;i>=0;--i){if(nums[i]==0){int id=-1;while (i>=0 && nums[i]==0)//跳过连续的0{if(i%4==0&&id==-1) id=i;//记录第一个 万 或者 亿--i;}//printf("i:%d id::%d\n",i,id);if(id!=-1) {//特判解决博客的问题1和问题2的零的顺序问题if(hasnum) result.push_back(up[id]);//防止出现问题4一万亿情况if(i>=0) result.push_back(upper[0]);}else result.push_back(upper[0]);++i;}else{result.push_back(upper[nums[i]]);result.push_back(up[i]);if(i%4==0) hasnum=0;//每四位更新一下  hasnum 是否添加亿或者万else hasnum=1;}}if(result[0]=="一"&&result[1]=="十"){//特判防止博客中的问题3vector<string> ans;for(int i=1;i<result.size();++i) ans.push_back(result[i]);return ans;}else return result;
}
int main()
{while(1){ll x;scanf("%lld",&x);vector<string> ans=translateToUpper(x);for(auto v:ans) cout<<v;puts("");}
}
/*
1200 0112 3001100211111011111110111110001111
10000000
100000000
100010001
100000100
100100100
*/

【面试题】数字转成汉字形式相关推荐

  1. 如何更改计算机上面的图表形式,excel表格数据转换图形-怎么把EXCEL中的一组数字转换成图表形式...

    谁会计算机啊,怎么把word里的表格数据转换成簇状... Excel表格转化成的方式如下: 1.打开EXCEL表格,数据,图表右侧下拉按钮,如图 2.出窗口中选择自己需要的图表,这里以曲面图为例,如图 ...

  2. html 将数字转为汉字,怎么将wps中的数字转换成汉字 wps将数字转换汉字的步骤教程...

    在WPS编辑表格数据时,如果我们想要将表格中的数字全部转换成汉字,该如何转换?方法其实很简单,不过还有很多用户不太清楚转换方法,下面教程之家网为大家分享wps将数字转换汉字的步骤教程,不会转换的朋友可 ...

  3. 如何把数字转换成汉字

    /**    * @author ja颂  * 把数字1-1亿换成汉字表述,如:123->一百二十三 * @param [num] $num [数字] * @return [string] [s ...

  4. java 数字转换成汉字_Java-String-阿拉伯数字转换成中文汉字数字

    package com.test; public class NumberUtils { private static final String[] UNITS = { "", & ...

  5. php将数字转换为汉字_php 把数字转换成汉字的代码

    直接上实例,写到 千亿上了. /** * @author ja颂 * 把数字1-1亿换成汉字表述,如:123->一百二十三 * @param [num] $num [数字] * @return ...

  6. Java 数字转换成汉字

    题目描述 输入一个数字字符,将它转换成大写的汉字(0.1.2.3.4.5.6.7.8.9分别转换成零.壹.贰.叁.肆.伍.陆.柒.捌.玖)并输出对应的汉字.如果输入的不是数字字符,则输出"输 ...

  7. mysql金额数字转成中文_数字转换成汉字金额(转)

    1 2 3 //测试工程4 5 staticvoidMain(string[] args)6 7 {8 9 Console.WriteLine("请输入金额");10 11 str ...

  8. php数字转换汉字,如何在php中将数字转换成汉字

    将php数字转换为汉字的实现方法:首先,创建一个PHP代码样本文件:然后定义一个"数字2中国"的方法:然后,通过方法体中的开关循环语句实现转换逻辑:最后,执行文件. 推荐:PHP教 ...

  9. .net数字转换成汉字大写

    public class Num2Rmb { private String[] hanArr={"零","壹","贰","叁&qu ...

  10. python 数字转换成汉字,Python实现把数字转换成中文

    周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. #!/usr/bin/python #-*- encodin ...

最新文章

  1. linux 命令 sys_call_table地址,Linux x86_64 内核查找sys_call_table注意事项
  2. 剑指offer:二叉树的下一个节点
  3. IT风险管理专家CISRE认证
  4. C异常处理实现: setjmp和longjmp
  5. 云原生应用如何做到低成本获得高稳定?
  6. 一天快速入门python
  7. springMVC3学习(四)--訪问静态文件如js,jpg,css
  8. lamda获取参数集合去空_(转)Java8使用lambda表达式进行集合的遍历
  9. 老男孩Shell企业面试题30道 [答案]
  10. vim插件配置安装与分享
  11. 什么是中药药浴?中药药浴的操作方法和注意事项
  12. python中的pymysql_Mysql在python中的使用:pymysql
  13. uni-app 使用API中的uni.chooseImage 上传照片以及uni.previewImage图片预览(身份证照片为例)
  14. 阳光沙滩博客系统后端api
  15. 【深度学习】 Designing Network Design Spaces
  16. 怎么给电脑里面的文件加密?这个软件轻松帮忙搞定
  17. Typora写作上传图失败怎么解决,利用图床教你解决问题
  18. 文创雪糕火出圈!是真内卷还是真搞笑?
  19. 如何用大数据软件确定 数码电子店铺选址
  20. linux python spyder,Ubuntu 18.04中安装Spyder,Python可视化IDE

热门文章

  1. Poj 2992 Divisors(算数基本定理素数因子个数)
  2. 计算机控制 英文 论文,计算机论文英文翻译
  3. PL330 DMAC笔记(3) - 外设请求接口,事件和中断,Abort
  4. mysql 分离和附加数据库_分离数据库和附加数据库有什么区别
  5. html检测正则表达式,正则表达式在线测试工具
  6. 正则表达式网站在线测试
  7. 推荐几款牛逼Chrome网页翻译插件,功能强大内容惊艳,务必低调使用
  8. 使用Vite搭建基础项目
  9. Vue watch 监听复杂对象变化,oldvalue 和 newValue 一致的解决办法。
  10. IE浏览器卸载命令行