zoukankan      html  css  js  c++  java
  • 币值转换

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

    **输入格式:**

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

    **输出格式:**

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

    **输入样例1:**

    ```813227345```
    

    输出样例1:

    ```iYbQdBcScWhQdBeSf```
    

    输入样例2:

    ```6900```
    

    输出样例2

    ```gQjB```

    **实验代码**

    ```

    #include<stdio.h>
    int main()
    {
        int n,l,i=0,c=0,d=0;
        char a[10]= {'a','b','c','d','e','f','g','h','i','j'};
        char b[10]= {' ',' ','S','B','Q','W','S','B','Q','Y'};
        char num[10];
        gets(num);
        l=strlen(num);
        if(num[0]=='0'&&l==1)
            printf("a");
        else
            while(l-->0)
            {
                n=num[i++]-'0';
                if(n!=0)
                {
                    if(c==1)
                        printf("a");
                    printf("%c",a[n]);
                    c=0;
                }
                else
                {
                    c=1;
                    if(l==4&&d==1)
                        printf("W");
                    continue;
                }
                if(l>0)
                {
                    if(l>4&&l<8) d=1;
                    printf("%c",b[l+1]);
                }
            }
        return 0;
    }
    ```

    **设计思路**

    将整数存入一个数组,可用strlen()计算数组长度,就可以得出这个整数的位数。将数组里保存的整数转化为整数型,判断每个数是否为0;单独判断长度为1,直接输出a;从高位到低位逐渐转换,遇到0时,将其放到下一次循环不是0的时候一并输出0,本轮只输出单位。(连续0只输出一个)整数大于万时,减到千位前单独输出w。
     

    **运行结果截图**



  • 相关阅读:
    PHP 上传文件 function move_uploaded_file: failed to open stream
    python super() 方法使用
    python 负数转为无符号整数
    python Aes 加密 解密
    mongoDB 启动 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
    ansible使用
    字段类型binary
    7-14 求整数段和
    7-13 日K蜡烛图
    7-12 两个数的简单计算器
  • 原文地址:https://www.cnblogs.com/scafer/p/10414762.html
Copyright © 2011-2022 走看看