【面试题】数字转成汉字形式
题目描述
数字转成汉字形式
做法:
看了其他博客的写法,多多少少有问题
问题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
*/
【面试题】数字转成汉字形式相关推荐
- 如何更改计算机上面的图表形式,excel表格数据转换图形-怎么把EXCEL中的一组数字转换成图表形式...
谁会计算机啊,怎么把word里的表格数据转换成簇状... Excel表格转化成的方式如下: 1.打开EXCEL表格,数据,图表右侧下拉按钮,如图 2.出窗口中选择自己需要的图表,这里以曲面图为例,如图 ...
- html 将数字转为汉字,怎么将wps中的数字转换成汉字 wps将数字转换汉字的步骤教程...
在WPS编辑表格数据时,如果我们想要将表格中的数字全部转换成汉字,该如何转换?方法其实很简单,不过还有很多用户不太清楚转换方法,下面教程之家网为大家分享wps将数字转换汉字的步骤教程,不会转换的朋友可 ...
- 如何把数字转换成汉字
/** * @author ja颂 * 把数字1-1亿换成汉字表述,如:123->一百二十三 * @param [num] $num [数字] * @return [string] [s ...
- java 数字转换成汉字_Java-String-阿拉伯数字转换成中文汉字数字
package com.test; public class NumberUtils { private static final String[] UNITS = { "", & ...
- php将数字转换为汉字_php 把数字转换成汉字的代码
直接上实例,写到 千亿上了. /** * @author ja颂 * 把数字1-1亿换成汉字表述,如:123->一百二十三 * @param [num] $num [数字] * @return ...
- Java 数字转换成汉字
题目描述 输入一个数字字符,将它转换成大写的汉字(0.1.2.3.4.5.6.7.8.9分别转换成零.壹.贰.叁.肆.伍.陆.柒.捌.玖)并输出对应的汉字.如果输入的不是数字字符,则输出"输 ...
- mysql金额数字转成中文_数字转换成汉字金额(转)
1 2 3 //测试工程4 5 staticvoidMain(string[] args)6 7 {8 9 Console.WriteLine("请输入金额");10 11 str ...
- php数字转换汉字,如何在php中将数字转换成汉字
将php数字转换为汉字的实现方法:首先,创建一个PHP代码样本文件:然后定义一个"数字2中国"的方法:然后,通过方法体中的开关循环语句实现转换逻辑:最后,执行文件. 推荐:PHP教 ...
- .net数字转换成汉字大写
public class Num2Rmb { private String[] hanArr={"零","壹","贰","叁&qu ...
- python 数字转换成汉字,Python实现把数字转换成中文
周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. #!/usr/bin/python #-*- encodin ...
最新文章
- linux 命令 sys_call_table地址,Linux x86_64 内核查找sys_call_table注意事项
- 剑指offer:二叉树的下一个节点
- IT风险管理专家CISRE认证
- C异常处理实现: setjmp和longjmp
- 云原生应用如何做到低成本获得高稳定?
- 一天快速入门python
- springMVC3学习(四)--訪问静态文件如js,jpg,css
- lamda获取参数集合去空_(转)Java8使用lambda表达式进行集合的遍历
- 老男孩Shell企业面试题30道 [答案]
- vim插件配置安装与分享
- 什么是中药药浴?中药药浴的操作方法和注意事项
- python中的pymysql_Mysql在python中的使用:pymysql
- uni-app 使用API中的uni.chooseImage 上传照片以及uni.previewImage图片预览(身份证照片为例)
- 阳光沙滩博客系统后端api
- 【深度学习】 Designing Network Design Spaces
- 怎么给电脑里面的文件加密?这个软件轻松帮忙搞定
- Typora写作上传图失败怎么解决,利用图床教你解决问题
- 文创雪糕火出圈!是真内卷还是真搞笑?
- 如何用大数据软件确定 数码电子店铺选址
- linux python spyder,Ubuntu 18.04中安装Spyder,Python可视化IDE