7-1 币值转换 (20 分)

本文详细解析了一个将人民币数值转换为大写中文格式的算法实现,通过使用小写英文字母代表数字和特定符号代表单位,实现了对输入整数的精确转换。文章提供了完整的C语言代码示例,并介绍了其工作流程。

7-1 币值转换 (20 分)

输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。

输入格式:
输入在一行中给出一个不超过9位的非负整数。

输出格式:
在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。

输入样例1:

813227345

输出样例1:

iYbQdBcScWhQdBeSf

输入样例2:

6900

输出样例2:

gQjB

流程图

1548681-20190226174510201-996896306.png

实验代码

 #include<stdio.h>
 #include<math.h>
 int main()
 {
     int i=-1,x,y,z,m,n,h,l,a;
     char c='a';
     scanf("%d",&x);
     y=x;
     if(x==0)
    {
        printf("a");
    }
    do
    {
        x=x/10;
        i++;
    }
    while(x!=0);
    do
    {
        if(i>=4)
        {
          h=y/10000;
          l=i-4;
    }
     if(i<4)
     {
    
          h=y;
          l=i;
     }
    a=pow(10,l);
    m=pow(10,i);
    z=y/m;
    if(z==0&&z!=n&&h%a!=0)
    {
        printf("a");
    }
    if(z!=0)
    {
        printf("%c",c+z);
    if(i==8){
        printf("Y");
    }
    if(i==7||i==3)
        printf("Q");
    if(i==6||i==2)
    {
        printf("B");
    }
    if(i==5||i==1)
    {
        printf("S");
    }
    if(i==4)
    {
        printf("W");
    }
    }
    if(i==4&&z==0)
    {
        printf("W");
    }
        if(n==0&&i==3&&z==0)
        {
        printf("a");
        }
        y=y%m;
        i--;
        n=z;
    }
    while(y!=0);
    return 0;
 }

实验步骤

 利用数学函数 include<math.h> 然后定义整型变量和字符变量 接着是判断输入的值,  然后利用除余的方式,整理出每一位数字,然后进行判断,最后输出结果!

转载于:https://www.cnblogs.com/xw1203/p/10386522.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值