-
2017-12-16 10:18:09
用中文写出数字
给一串数字串,请将其每一位数字相加,得到一个和,然后用中文的拼音将这个和的每一位“读”出来。
eg1: 输入123456789098765432
输出 ba jiu (因为以上数字每一位之和为89)
eg2:输入 1234567890987654321123456789
输出 yi san wu#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #define N 50 void transform(int k); void main() { char numstr[N]; //len计算输入数字个数,sum计算所有数字相加,count计算相加结果的位数,temp用于计算位数的临时变量 int i,len,sum=0, temp, count=1,k; gets(numstr); len = strlen(numstr); //所有数字相加 for (i = 0; i < len; i++) sum = sum + numstr[i]-'0'; temp = sum; //计算结果位数 do { temp /= 10; count++; } while (temp / 10 != 0); //提取每一位数字 for (i = count; i>0; i--) { k =sum / pow((float)10, i - 1); k = k % 10; transform(k); } printf("\n"); system("pause"); } void transform(int k) { switch (k) { case 0: printf("ling "); break; case 1: printf("yi "); break; case 2: printf("er "); break; case 3: printf("san "); break; case 4: printf("si "); break; case 5: printf("wu "); break; case 6: printf("liu "); break; case 7: printf("qi "); break; case 8: printf("ba "); break; case 9: printf("jiu "); break; } }
更多相关内容 -
阿拉伯数字转中文数字.rar
2020-09-05 16:37:56不满意现有的阿拉伯数字转中文数字代码的效果,自己写了一个更加地道的代码,将如“一十一”等处理成“十一”;最大处理16位数字,具体数位规则如下:16(千兆),15(百兆),14(十兆),13(兆),12(千亿),11(百亿),10... -
Android中数字转中文,金额转大写
2019-10-09 09:54:12Android中数字转中文,金额转大写源码,支持口语化转换。 -
用C语言写中文数字字符串转数值变量
2021-05-26 04:49:22文章介绍了使用c语言将中文字符串转换成数值变量的思路和具体代码C语言写中文数字字符转数值变量最近突发奇想:程序中要是输入一串中文数字,如“十万”就能自动识别转换成数值100000储存到变量里该多好。...文章介绍了使用c语言将中文字符串转换成数值变量的思路和具体代码
C语言写中文数字字符转数值变量
最近突发奇想:程序中要是输入一串中文数字,如“十万”就能自动识别转换成数值100000储存到变量里该多好。
也许你会说,那很简单啊,先将中文字符分开,再各自识别成数值,最后乘上位数相加就行了。可是实际操作时你会发现这并不容易。比如“一亿三千五百万”中,如何确定“三”属于千万位的?或者我想让程序更智能化一些,同时实现如“一百三十”=“一三零”=“1百3”=“百三”=130,那就不会那么简单了。
为了实现这一转换,可以按以下思路编写:
1.可以用两个数组分别储存单位和每个单位对应的数字。其中不同的单位用不同的数值标识。再记录下下标长度。
2.然后将输入的中文数字整理成这种形式:*万*百*个。其中*代表一个正整数(可以大于10),万、百、个代表单位。比如:“一亿五十六万三千”整理成1亿56万3千。这个过程最好使用递归。接着可以将数值相乘叠加。
3.最后,为了处理如“二百五”=250的情况,还要检索下“百”位后是否还有“零”。
下面给出详细代码以供参考:
#define MAX 32
//先定义支持的中文符号:(单位数值由小到大排列,方便判断单位和数值大小)
char _NUMBER[59]="零一壹二贰三叁四肆五伍六陆七柒八捌九玖十拾廿百佰千仟万兆亿";
//递归辅助函数,
double _Num(double *num,char *wei,char len)//参数分别对应按字符识别好的数字,位,位数
{
double i, a, tmp;//临时数字
char w;//用来作位数指针
char c;//临时指针
char x;//临时指针
w = len - 1;
//下面检测从右到左,单位大小是否由小变大,如“五千万五千”的单位顺序就不是
while(w>0)
{
if(*(wei+w-1) <= *(wei+w)) //检测到左边单位≤右边单位
{
c = w;//记录右边单位在wei中的位置
w--;
//下面检索到左边单位比右边单位大为止
while(*(wei+w-1)<=*(wei+c) && w)
w--;
//中间c-w个单位进行递归整合成一个数值,这个数值属于c记录的单位
*(num+w) = _Num(num+w,wei+w,c-w) + *(num+c);
len = len - c + w;//单位数减少,有c-w个单位整合成一个数值了
//下面要将原来c记录的右边的单位及其数值进行左移
for(x=w+1;x
*(num+x) = *(num+x+c-w);
for(x=w;x&
lt;len;x++)//移动位
*(wei+x) = *(wei+x+c-w);
}
w--;
}
//经过上面处理之后,单位排列的顺序从左到右将是由大到小的,我们就可以放心处理了
a = 0;//临时计算用数
c = 0;
while(c
-
Python实现中文数字转换为阿拉伯数字的方法示例
2020-12-25 04:11:34本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法。分享给大家供大家参考,具体如下: 一、需求 今天写了三千二百行代码。 今天写了3200行代码。 两行意思相同,只是表达方式不太能够,统一掉。 二、原理 ... -
手写数字数据集0-9图片
2021-05-16 11:26:45手写数字数据集,0-9。 28*28以及30*30两种,每种10000张。仅包含图片。支持定制汉字,以及字符,私聊。 -
CNN卷积神经网络实现手写数字识别Matlab.zip
2020-04-03 15:27:10CNN卷积神经网络实现手写数字识别,Matlab+minist数据集都有,在matlab上可直接运行,新手友好,亲测可用。 -
MATLAB BP手写数字汉字识别.zip
2021-09-29 21:56:57matlab手写汉字,字符,数字,字母识别,神经网络bp -
基于MATLAB bp神经网络手写数字识别(GUI,技术文章).zip
2021-08-25 16:59:02基于MATLAB的BP神经网络手写数字识别系统。带有GUI人机交互式界面。读入测试图片,通过截取某个数字,进行预处理,经过bp网络训练,得出识别的结果。可经过二次改造成识别中文汉字,英文字符等课题。 -
js 限制input只能输入数字、字母和汉字等等
2020-10-26 12:42:01js 限制input只能输入数字小数点也不能输入或者是只能输入数字,能输小数点等等,本文大致整理了一些,感兴趣的朋友可以收藏下 -
用Python写中文数字对照表
2020-04-10 01:28:34中文数字对照表 uppercase_number = (“零” , “壹” , “贰” , “叁” , “肆” , “伍” , “陆” , “柒” , “捌” , “玖”) number = input(“请输入数字:”) for i in number: print(uppercase_number[int... -
自己写的数字转中文数字代码
2012-05-18 14:54:07可以把10位以下的数字转成中文数字。可以直接使用 比如.50505050 转成五千零五十万零五千零五十 又如.123456789 可以转成一亿二千三百四十五万六千七百八十九。 测试了很多不同类型的10位以下的数字,暂时未发现有... -
阿拉伯数字转为中文汉字写法
2020-12-01 15:12:34static string toChinese(int num) { string sb = “”; string[] unit = { “”, “十”, “百”, “千” }; char[] chineseNum = { ‘零’, ‘一’, ‘二’, ‘三’, ‘四’, ‘五’, ‘六’, ‘七’, ‘八’, ...static string toChinese(int num)
{
string sb = “”;
string[] unit = { “”, “十”, “百”, “千” };
char[] chineseNum = { ‘零’, ‘一’, ‘二’, ‘三’, ‘四’, ‘五’, ‘六’, ‘七’, ‘八’, ‘九’ };
string chars = num.ToString();
int a = chars.Length;
int count = 0;if (a == 2 && chars[0] == '1')//如12,13 { sb += unit[1]; if (chars[1] != '0')//10,20 { // 将字符转为对应的中文 例如: '1' -> 一 ; sb += chineseNum[chars[1] - 48]; } } else if (a <= 4)//三到四位 { for (int i = 0; i < chars.Length; i++)//1011,1010 { if (chars[i] == '0') { count++; continue; } if (count >= 1)//有零 { sb += chineseNum[0]; count = -4;//防止多个零叠在一起 } sb += chineseNum[chars[i] - 48]; sb += unit[a - 1 - i];//权重 } } else if (a <= 8) { //截取 int index = chars.Length - 4;//万的部分 string wan = chars.Substring(0, chars.Length - 4); string qita = chars.Substring(chars.Length - 4, 4); if (chars[a - 4] == '0') { sb = toChinese(int.Parse(wan)) + "万" + "零" + toChinese(int.Parse(qita)); } else { sb = toChinese(int.Parse(wan)) + "万" + toChinese(int.Parse(qita)); } } else { sb = "超出范围!"; } return sb;
}
-
MATLAB BP神经网络手写数字汉字字符识别(GUI).zip
2021-09-29 14:50:13MATLAB手写字符识别,包括汉字,字符,数字,字母,方法是:bp神经网络。 -
数字金额转中文大写转换工具
2020-04-15 17:31:35将阿拉伯数字金额转成中文大写 "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"...... -
写一个含数字,拼音,汉字的验证码生成类
2020-10-20 14:45:09本文和大家分享的是一个集成1:小写拼音;2:大写拼音;3:数字;4:汉字的验证码生成类。本章例子也会有一个mvc使用验证码校验的场景。具有一定的参考价值,下面跟着小编一起来看下吧 -
MATLAB 神经网络手写数字汉字字符识别(bp方法,有GUI).zip
2021-10-29 11:50:30该课题为基于bp神经网络的字符识别,包括汉字,字符,英文字母,数字等,带GUI框架。 -
MATLAB手写数字汉字识别[写字板,神经网络],基于matlab的手写数字识别,matlab源码.zip.zip
2021-10-14 23:44:40MATLAB手写数字汉字识别[写字板,神经网络],基于matlab的手写数字识别,matlab源码.zip.zip -
如何用Python实现阿拉伯数字转换英文数字 python3 将中文句子中汉字数字转阿拉伯数字
2021-01-29 05:43:39python3 将中文句子中汉字数字转阿拉伯数字python3将中文句子中汉子数字转换为阿拉伯数字 比如将五百八十二元3角六import re s ='五百八十二元3角六分' s = re.sub('一','1',s) s = re.sub('二','2',s) s = re.sub('... -
MySQL函数-数字转换为大写中文
2018-03-30 09:30:45MySQL函数 数字转中文 非金额 处理数据类型 decimal(21,6) -
虚拟数字和手写中文键盘
2018-04-17 10:03:52我想用一个虚拟键盘,微软的不方便调用,太点版面了,找了一个其他人的不好用,还要注册,时不时的跳出来一个注册的界面,自己查了一下资料写一个,数字和手写输入的,适合中国人用了。本来不想要分的,但没有0选项... -
MATLAB手写数字汉字识别[写字板,神经网络,论wen].zip
2020-08-03 11:07:37该课题为基于MATLAB bp神经网络的手写汉字识别系统。可以利用鼠标手写中文汉字进行训练,测试,可以识别任何字体,只需要到GUI界面...在GUI界面就可以随写随训练中文,不需要到后台手动更换文字训练,方便快捷上档次。 -
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2020-10-20 07:12:17主要介绍了JavaScript控制输入框中只能输入中文、数字和英文的方法,基于正则验证实现字符输入限制功能,具有一定参考借鉴价值,需要的朋友可以参考下 -
php 把数字转换成汉字的代码
2020-10-23 22:02:23在一次面试中遇到一个有意思的小算法题:要求将阿拉伯数字转为汉字显示出来(包含单位)。当时虽然实现出来,但是代码写的有点凌乱。所以回家后,重新整理了一下。 -
javascript正则匹配汉字、数字、字母、下划线
2020-12-08 16:06:17javascript正则检测只含有汉字、数字、字母、下划线不能以下划线开头和结尾 遇到一个用户名检测的的问题,查了一下,总结例子如下: 代码如下:var reg = /^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$/;if (!reg.... -
易语言源码数字转换汉字大写.rar
2020-02-16 20:43:06易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar易语言源码... -
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2020-10-21 13:53:14下面小编就为大家带来一篇js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
KNN实现手写识别汉字-基于JAVA,
2019-05-18 17:39:15基于java实现的手写识别软件,字库是特征点字库,通过KNN算法计算,汉字的特征点通过递归方法得到,核心代码量300行左右,识别效果良好。直接使用eclipse导入工程即可,单击startframe.java开始运行 -
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2020-10-24 18:59:50主要介绍了JS实现至少包含字母、大小写数字、字符的密码等级的两种方法,可实现有效检测用户密码等级的功能,具有一定参考借鉴价值,需要的朋友可以参考下