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。
     

    **运行结果截图**



  • 相关阅读:
    《团队-爬取豆瓣Top250-团队一阶段互评》
    团队-爬虫豆瓣top250项目-开发文档
    结对总结
    课后作业-阅读任务-阅读提问-2
    2017-10-06-构建之法:现代软件工程-阅读笔记
    结对-结对编项目贪吃蛇-开发过程
    团队-爬取豆瓣电影TOP250-开发环境搭建过程
    个人-GIT使用方法
    课后作业-阅读任务-阅读提问-1
    课后作业-阅读任务-阅读笔记-1
  • 原文地址:https://www.cnblogs.com/scafer/p/10414762.html
Copyright © 2011-2022 走看看