273整数转换英文表示

2023-10-04 21:20
文章标签 转换 英文 整数 273 表示

本文主要是介绍273整数转换英文表示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、题目描述

将非负整数转换为其对应的英文表示。可以保证给定输入小于 2^31 - 1 。

2、示例

输入: 1234567891
输出: "One Billion Two Hundred Thirty Four Million Five Hundred Sixty Seven Thousand Eight Hundred Ninety One"

3、题解

#include<vector>
#include<algorithm>
#include<iostream>
#include<string>
using namespace std;
class Solution {
public:string numberToWords(int num) {if(num==0)return "Zero";vector<string> dict={"Hundred","Thousand","Million","Billion"};vector<string> number={"One","Two","Three","Four","Five","Six","Seven","Eight","Nine"};vector<string> teen={"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};vector<string> ty={"Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"};string res;int i=0;//1,234,567,891 英文计数都是3个一组分别是Thousand,Million,Billionwhile(num){int temp=num%1000;string cur;//flag标记当前组是否有数字,如果没有数字就不用加Thousand,Million,Billion及空格//space标记百位是否有数字,如果没有,防止多余空格出现int flag=0,space=0;//提取百位转化为字符串if(temp/100){flag=1;space=1;cur.append(number[temp/100-1]);cur.append(" ");cur.append(dict[0]);temp%=100;}//提取十位和个位转化为字符串//十位是1开头if(temp/10==1){flag=1;if(space)cur.append(" ");cur.append(teen[temp%10]);}//十位是2-9开头else if(temp/10>1){flag=1;if(space)cur.append(" ");cur.append(ty[temp/10-2]);if(temp%10){cur.append(" ");cur.append(number[temp%10-1]);}}//十位是0,就只有个位else{if(temp%10){flag=1;if(space)cur.append(" ");cur.append(number[temp%10-1]);}}//3个一组分别是Thousand,Million,Billion,以及该组是否有数字才加上if(i>0&&flag){cur.append(" ");cur.append(dict[i]);cur.append(" ");}//当前组的字符串cur拼接到resres=cur+res;num/=1000;i++;}//去掉开头和末尾多余的空格if(res[0]==' ')res=res.substr(1,res.size()-1);if(res.back()==' ')res=res.substr(0,res.size()-1);return res;}
};
int main()
{Solution solute;int num=1234567891;cout<<solute.numberToWords(num)<<endl;return 0;
}

 

这篇关于273整数转换英文表示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/2740

相关文章

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

PTA求一批整数中出现最多的个位数字

作者 徐镜春 单位 浙江大学 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。 输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

数据流与Bitmap之间相互转换

把获得的数据流转换成一副图片(Bitmap) 其原理就是把获得倒的数据流序列化到内存中,然后经过加工,在把数据从内存中反序列化出来就行了。 难点就是在如何实现加工。因为Bitmap有一个专有的格式,我们常称这个格式为数据头。加工的过程就是要把这个数据头与我们之前获得的数据流合并起来。(也就是要把这个头加入到我们之前获得的数据流的前面)      那么这个头是