题解 | #人民币转换#

人民币转换

https://www.nowcoder.com/practice/00ffd656b9604d1998e966d555005a4b

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

void trans_printf(int x)
{
    switch (x) {
    case 1:
    {
        printf("壹");
        break;
    }
    case 2:
    {
        printf("贰");
        break;
    }
    case 3:
    {
        printf("叁");
        break;
    }
    case 4:
    {
        printf("肆");
        break;
    }
    case 5:
    {
        printf("伍");
        break;
    }
    case 6:
    {
        printf("陆");
        break;
    }
    case 7:
    {
        printf("柒");
        break;
    }
    case 8:
    {
        printf("捌");
        break;
    }
    case 9:
    {
        printf("玖");
        break;
    }
    default:
    {
        //printf("非法字符");
        break;
    }
    }
}
int main()
{
    float num;
    scanf("%f",&num);
    printf("人民币");
    int array[15] = {0};
    float unit  = 0.01;
    float value;
    int i=0;
    int flag_zero =0;
    while(num/unit>=1)
    {
        value = (int)(num/unit)%10;
        if(value>0)
        {
            array[i] = (int)value;
        }
        unit *=10;
        i++;
    }
    for(i--;i>=0;i--)
    {
        if(i==11)
        {
            if(array[i]==1)
            {
                printf("拾");
            }
            else
            {
                trans_printf(array[i]);
                printf("拾");
            }
        }
        if(i==10)
        {
            trans_printf(array[i]);
            printf("亿");
        }
        if(i==9)
        {
            trans_printf(array[i]);
            printf("千");
        }
        if(i==8)
        {
            trans_printf(array[i]);
            printf("佰");
        }
        if(i==7)
        {
            if(array[i]==1)
            {
                printf("拾");
            }
            else
            {
                trans_printf(array[i]);
                printf("拾");
            }
        }
        if(i==6)
        {
            trans_printf(array[i]);
            printf("万");
        }
        if(i==5)
        {
            trans_printf(array[i]);
            printf("千");
        }
        if(i==4)
        {
            if(array[i]!=0)
            {
                trans_printf(array[i]);
                printf("佰");
                flag_zero =0;
            }
            else
            {
                if(flag_zero==0)
                {
                    printf("零");
                    flag_zero = 1;
                }
            }
        }
        if(i==3)
        {
            if(array[i]!=0)
            {
                if(array[i]==1)
                {
                    printf("拾");
                }
                else
                {
                    trans_printf(array[i]);
                    printf("拾");
                }
                flag_zero =0;
            }
            else
            {
                if(flag_zero==0)
                {
                    printf("零");
                    flag_zero = 1;
                }
            }
        }
        if(i==2)
        {
            trans_printf(array[i]);
            printf("元");
            if(array[1]==0&&array[0]==0)
            {
                printf("整");
                return  0;
            }
        }
        if(i==1)
        {
            if(array[i]!=0)
            {
                trans_printf(array[i]);
                printf("角");
            }
        }
        if(i==0)
        {
            if(array[i]!=0)
            {
                trans_printf(array[i]);
                printf("分");
            }
        }
    }
    return  0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
贪食滴🐶:你说熟悉扣篮的底层原理,有过隔扣职业球员的实战经验吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务