数字大小写转换 华为面试题数字大小写转换

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

数字大小写转换 华为面试题数字大小写转换

  2021-03-19 我要评论
想了解华为面试题数字大小写转换的相关内容吗,在本文为您仔细讲解数字大小写转换的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:华为面试题,数字大小写转换,下面大家一起来学习吧。

这题因为限定了4位数,所以只考虑了4位数的情况,吃点分享一个大小写转换的源码,里面有不限位数的情况,当时调试的很痛苦,思想差不多。

复制代码 代码如下:

void iConvert(int digit)
{
    char a[5][10] = {"千","百","十","","零"};
    char b[11][10] = {"零","一","二","三","四","五","六","七","八","九","十"};
    char result[50] = {'\0'};
    int A[4] = {};
    for(int i=3;i>=0;i--)
    {
        A[i] = digit % 10;
        digit = int(digit/10);
    }
    printf("%d,%d,%d,%d\n",A[0],A[1],A[2],A[3]);
    int foundZero = 0;
    for(int i = 0 ;i<4;i++)
    {
        if(A[i]>0)
        {
            strcat(result,b[A[i]]);
            strcat(result,a[i]);
        }
        if(A[i]==0 && foundZero == 0)
        {
           if(i!=3)//如果不是最后一位,则不追加零
           {
             strcat(result,a[4]);
             foundZero = 1;
           }
        }   
    }
    puts(result);
}

运行结果:

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们