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


    1).实验代码
    #include<stdio.h>
    int main (void)
    {
        int n, value, value1, value2, sum=0, x, value3, qian=1000, y=0, jishuqi=0;
        scanf("%d", &n);
        value=n/100000000;
        if(value!=0){
            printf("%cY", 'a'+value);                     
        }
            value1=n%100000000;
        value2=value1/10000;                                
        while(qian!=0){                                     
            if(value2==0){
                break;
            }
            x=value2/qian;
            value2=value2%qian;
            qian=qian/10;
            y++;
            if(value==0&&x==0){               
                if(jishuqi!=1){
                    continue;
                }
            }
            if(x==0){
                sum++;
                if(sum<=1) {
                    if(y!=4){
                        printf("%c", 'a');
                    }  
                }
            }
            if(x!=0){
                sum=0;
                jishuqi=1;
                printf("%c", 'a'+x);
                switch(y){
                    case 1: printf("Q"); break;
                    case 2: printf("B"); break;
                    case 3: printf("S"); break;
                }
            }
        }
        if(y!=0){
            printf("W");                                     
        }
        sum=0;                                                   
        qian=1000;
        y=0;
        jishuqi=0;
        value3=n%10000;                                   
        while(qian!=0){
            x=value3/qian;
            value3=value3%qian;
            qian=qian/10;
            y++;
            if((n%100000000)/10000==0&&x==0){
                if(jishuqi!=1){
                    continue;
                }
            }
            if(value3!=0){
                if(x==0){
                    sum++;
                    if(sum<=1) {
                        printf("%c", 'a');
                    }
                }
            }
            if(x!=0){
                sum=0;
                jishuqi=1;
                printf("%c", 'a'+x);
                switch(y){
                    case 1: printf("Q"); break;
                    case 2: printf("B"); break;
                    case 3: printf("S"); break;
                }
            }
        }
            if(n==0){
            printf("%c", 'a');
        }  
    }
    2).设计思路
    3).本题调试过程中遇到的问题

    4).运行截图

  • 相关阅读:
    08-蓝图&单元测试
    07-多对多操作
    JAVA 判断字符串是否可转化为JSONObject、JSONArray
    git常用命令
    线程和进程的一些基本概念
    JavaWeb学习总结(七):通过Servlet生成验证码及其应用 (BufferedImage类)
    JavaWeb学习总结(十):Session简单使用
    Ubuntu16.04 安装maven
    Ubuntu16.04 安装redis
    Ubuntu16.04 下安装tomcat
  • 原文地址:https://www.cnblogs.com/xiexin777/p/10413090.html
Copyright © 2011-2022 走看看