首页 > 试题广场 >

人民币转换

[编程题]人民币转换
  • 热度指数:82439 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

考试题目和要点:

1、中文大写金额数字前应标明“人民币”字样。中文大写金额数字应用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整等字样填写。

2、中文大写金额数字到“元”为止的,在“元”之后,应写“整字,如532.00应写成“人民币伍佰叁拾贰元整”。在”角“和”分“后面不写”整字。

3、阿拉伯数字中间有“0”时,中文大写要写“零”字,阿拉伯数字中间连续有几个“0”时,中文大写金额中间只写一个“零”字,如6007.14,应写成“人民币陆仟零柒元壹角肆分“。
4、10应写作“拾”,100应写作“壹佰”。例如,1010.00应写作“人民币壹仟零拾元整”,110.00应写作“人民币壹佰拾元整”
5、十万以上的数字接千不用加“零”,例如,30105000.00应写作“人民币叁仟零拾万伍仟元整”



输入描述:

输入一个double数



输出描述:

输出人民币格式

示例1

输入

151121.15

输出

人民币拾伍万壹仟壹佰贰拾壹元壹角伍分
示例2

输入

1010.00

输出

人民币壹仟零拾元整
头像 寒武子星
发表于 2021-12-04 12:44:33
def fun(n, s =''):     if n < 20:  # 由于10应写作“拾”,所以第一前1-19进行查字典处理     展开全文
头像 凌风枳雨
发表于 2022-06-25 22:58:01
#include <iostream> #include <vector> using namespace std; int main() { string s; vector<pair<string, string>> vec; 展开全文
头像 陶陶2021
发表于 2021-10-11 00:21:55
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static String[] ten = {"零","壹","贰","叁","肆","伍","陆","柒" 展开全文
头像 水木清华_AI
发表于 2020-03-18 13:16:58
/* 本文系「人工智能安全」(微信公众号)原创,转载请联系本文作者(同博客作者)。 欢迎你转发分享至朋友圈,并给予「关注、星标、点赞」三连支持。互相欣赏,互相批判。 我是一名有诗人气质的网络安全工程师 期待与你的思想交流碰撞出智慧的花火 水木清华 2020-03-18 人民币转换 基于 ultraj 展开全文
头像 牛客865548351号
发表于 2022-03-18 13:13:28
import re rmb_list = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖','拾','佰','仟','万','亿'] rmb_list2 = ['','拾','佰','仟','万','拾','佰','仟','亿'] s = input().split( 展开全文
头像 迪士尼在逃米老鼠
发表于 2020-02-12 12:38:52
把输入的double数看成string类型,先读整数部分后读小数部分; 整数部分的长度j减去当前字符所在位置i即当前数所在的权重位;即每一位可以读作ge[s[i]-'0'] + ot[j-i-1];(遵循从高位往低位读) 对应位碰上0则不读,但如果该权重位在万,亿,万亿,万万亿上,则无需读零,但需输 展开全文
头像 BSF
发表于 2021-10-22 21:22:43
ch = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'] while True: try: s = input() before, after = s.split('.') head, b 展开全文
头像 垦丁的猫
发表于 2022-08-02 11:39:54
其实这道题思路并不难,可以说很简单了,但是具体实现起来需要一点功夫,Java代码如下: import java.util.Scanner; public class Main { static char[] bigNum = {'零', '壹', '贰', '叁', '肆', '伍', 展开全文
头像 简单666
发表于 2021-12-09 21:19:31
题意: 输入一个数字金额,输出其中文表示法。 解法(高精度版本) 本题解中我们实现一个支持任意大小数字的转换程序 我们举个例子,比如数字: 该数字的中文表示法为: 首先,我们将该数字从右到左四个四个分块,不足的部分单独一块 可得到: 对应的,我们 展开全文
头像 命途
发表于 2022-05-12 22:55:38
分为整数部分和小数部分,整数部分利用replaceAll()和正则,去除多余的“零”。 import java.util.*; public class Main { static Map<Character, String> numMap = new HashMap<&g 展开全文