精华内容
下载资源
问答
  • 用中文写数字
    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;
    	}
    }


    更多相关内容
  • 不满意现有的阿拉伯数字中文数字代码的效果,自己了一个更加地道的代码,将如“一十一”等处理成“十一”;最大处理16位数字,具体数位规则如下:16(千兆),15(百兆),14(十兆),13(兆),12(千亿),11(百亿),10...
  • Android中数字中文,金额转大写源码,支持口语化转换。
  • 文章介绍了使用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实现中文数字转换为阿拉伯数字的方法。分享给大家供大家参考,具体如下: 一、需求 今天了三千二百行代码。 今天了3200行代码。 两行意思相同,只是表达方式不太能够,统一掉。 二、原理 ...
  • 手写数字数据集,0-9。 28*28以及30*30两种,每种10000张。仅包含图片。支持定制汉字,以及字符,私聊。
  • CNN卷积神经网络实现手写数字识别,Matlab+minist数据集都有,在matlab上可直接运行,新手友好,亲测可用。
  • matlab手写汉字,字符,数字,字母识别,神经网络bp
  • 基于MATLAB的BP神经网络手写数字识别系统。带有GUI人机交互式界面。读入测试图片,通过截取某个数字,进行预处理,经过bp网络训练,得出识别的结果。可经过二次改造成识别中文汉字,英文字符等课题。
  • js 限制input只能输入数字小数点也不能输入或者是只能输入数字,能输小数点等等,本文大致整理了一些,感兴趣的朋友可以收藏下
  • Python写中文数字对照表

    千次阅读 2020-04-10 01:28:34
    中文数字对照表 uppercase_number = (“零” , “壹” , “贰” , “叁” , “肆” , “伍” , “陆” , “柒” , “捌” , “玖”) number = input(“请输入数字:”) for i in number: print(uppercase_number[int...

    中文数字对照表

    uppercase_number = (“零” , “壹” , “贰” , “叁” , “肆” , “伍” , “陆” , “柒” , “捌” , “玖”)
    number = input(“请输入数字:”)
    for i in number:
    print(uppercase_number[int(i)], end="")

    Ps:这只是一个非常不完整非常简单的的代码段

    在这里插入图片描述

    展开全文
  • 可以把10位以下的数字转成中文数字。可以直接使用 比如.50505050 转成五千零五十万零五千零五十 又如.123456789 可以转成一亿二千三百四十五万六千七百八十九。 测试了很多不同类型的10位以下的数字,暂时未发现有...
  • static 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神经网络。
  • 将阿拉伯数字金额转成中文大写 "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"......
  • 本文和大家分享的是一个集成1:小写拼音;2:大写拼音;3:数字;4:汉字的验证码生成类。本章例子也会有一个mvc使用验证码校验的场景。具有一定的参考价值,下面跟着小编一起来看下吧
  • 该课题为基于bp神经网络的字符识别,包括汉字,字符,英文字母,数字等,带GUI框架。
  • MATLAB手写数字汉字识别[写字板,神经网络],基于matlab的手写数字识别,matlab源码.zip.zip
  • python3 将中文句子中汉字数字转阿拉伯数字python3将中文句子中汉子数字转换为阿拉伯数字 比如将五百八十二元3角六import re s ='五百八十二元3角六分' s = re.sub('一','1',s) s = re.sub('二','2',s) s = re.sub('...
  • MySQL函数 数字中文 非金额 处理数据类型 decimal(21,6)
  • 我想一个虚拟键盘,微软的不方便调用,太点版面了,找了一个其他人的不好用,还要注册,时不时的跳出来一个注册的界面,自己查了一下资料一个,数字和手写输入的,适合中国人了。本来不想要分的,但没有0选项...
  • 该课题为基于MATLAB bp神经网络的手写汉字识别系统。可以利用鼠标手写中文汉字进行训练,测试,可以识别任何字体,只需要到GUI界面...在GUI界面就可以随随训练中文,不需要到后台手动更换文字训练,方便快捷上档次。
  • 主要介绍了JavaScript控制输入框中只能输入中文数字和英文的方法,基于正则验证实现字符输入限制功能,具有一定参考借鉴价值,需要的朋友可以参考下
  • 在一次面试中遇到一个有意思的小算法题:要求将阿拉伯数字转为汉字显示出来(包含单位)。当时虽然实现出来,但是代码的有点凌乱。所以回家后,重新整理了一下。
  • javascript正则检测只含有汉字数字、字母、下划线不能以下划线开头和结尾 遇到一个用户名检测的的问题,查了一下,总结例子如下: 代码如下:var reg = /^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$/;if (!reg....
  • 易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar 易语言源码数字转换汉字大写.rar易语言源码...
  • 下面小编就为大家带来一篇js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 基于java实现的手写识别软件,字库是特征点字库,通过KNN算法计算,汉字的特征点通过递归方法得到,核心代码量300行左右,识别效果良好。直接使用eclipse导入工程即可,单击startframe.java开始运行
  • 主要介绍了JS实现至少包含字母、大小写数字、字符的密码等级的两种方法,可实现有效检测用户密码等级的功能,具有一定参考借鉴价值,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 312,192
精华内容 124,876
关键字:

怎样用数字写汉字