| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3226 人关注过本帖
标题:帮帮忙!!! 阿拉伯数字转换中文数字 有什么好的方法 越简单越好
只看楼主 加入收藏
Crazy_111
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-3-4
结帖率:0
收藏
已结贴  问题点数:10 回复次数:3 
帮帮忙!!! 阿拉伯数字转换中文数字 有什么好的方法 越简单越好
用户输入万亿以下的数字转换成中文数字。
例如:输入:123456
      输出:十二万三千四百五十六

      输入:10
      输出:十

特例:输入:120000
    输出:十二万
 
搜索更多相关主题的帖子: 中文 阿拉伯数字 
2010-03-04 15:09
hanzhenddd
Rank: 5Rank: 5
等 级:职业侠客
帖 子:90
专家分:361
注 册:2010-3-4
收藏
得分:3 

#include <stdio.h>
#include <string.h>

#define MAX 20

int read(char a[],int len)
{
    int i;
    for (i = 0; i < len; i++)
    {
        if (len == 1 )
         {
            if (a[i])  == '0';
            printf("零\n");
          }
        
            
    }
}

int main(int argc, char *argv[])
{
    char a[MAX],tmp,len;
    int i;

    printf ("please input num");
    do
    {
        for (i = 0; i< MAX; i++)
            {   
                scanf("%c",&tmp);
                a[i] = tmp;
            }
    }
    while (tmp != '\n');
    a[i] ='\0';
    len = strlen(a);
    read(a,len);
    return 0
}

--------------------


不写了,。。。。太没效率了  刚起来的缘故。。。这个应该用状态机 处理起来轻松!~
2010-03-04 15:30
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:3 
网上搜索一下,很多的!

★★★★★为人民服务★★★★★
2010-03-04 15:32
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:3 
简单写了一个,还不算成熟,目前只能处理 9 位数以下的,而且程序写得也有些啰嗦,有机会再改改吧,也就算是抛砖引玉吧.

程序代码:
#include<stdio.h>
#include<string.h>
#define N 20

int main(void)
{
    char bit[6][4]={"","","","","",""};
    char num[11][4]={"","","","","","","","","",""};
    char str[N];
    int i,j,len;


    while(1)
    {
        scanf("%[0-9]9s",str);
        while(getchar()!='\n');
        if(str[0]=='0')
        {
            puts("");
            break;
        }
        len=strlen(str);
        if(len>9)
        {
            str[9]=0;
            len=9;
        }
        for(i=0,j=len;i<len;++i,--j)
        {
            if(str[i]=='0')
            {
                if(str[i+1]!='\0'&&str[i+1]!='0')
                {
                    printf("");
                }
                if(len-i!=5&&len-i!=9)
                continue;
            }
            printf("%s%s",num[str[i]-'0'],bit[(5-j%5)%5+(len-i>5?0:1)]);
            if(len-i==9)
            {
                printf("亿");
            }
            if(len-i==5&&len<9)
            {
                printf("");
            }
        }
        puts("");
    }

    return 0;
}
2010-03-05 18:15
快速回复:帮帮忙!!! 阿拉伯数字转换中文数字 有什么好的方法 越简单越好
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025912 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved