zoukankan      html  css  js  c++  java
  • 2019年寒假作业2

    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
    1.实验代码

    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(x0){
    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(i8){
    printf("Y");
    }
    if(i
    7||i3)
    printf("Q");
    if(i
    6||i2){
    printf("B");
    }
    if(i
    5||i1){
    printf("S");
    }
    if(i
    4){
    printf("W");
    }
    }
    if(i4&&z0){
    printf("W");
    }
    if(n0&&i3&&z==0){
    printf("a");
    }
    y=y%m;
    i--;
    n=z;
    }while(y!=0);
    return 0;
    }
    2.设计思路
    这个题目是一个转换问题,首先他还有很多的变量,所以我使用很多的if,while语句进行控制,来实现这个转换。
    3.遇到的问题:在这么多的语句和起来之后,我发现只是会出现各种各样的错误,语法啊。语句啊都有错误。
    解决方法:由于是这么多语句复合而成的,只能一小部分一小部分的进行检查。然后和起来,再进行调试
    错误截图。

    4.运行截图

  • 相关阅读:
    百度面试题:求绝对值最小的数
    数据库工具
    java内存:堆、栈、常量池、方法区
    windows的cmd模式下目录名称中有空格
    Tomcat启动45秒解决问题
    sitemesh
    向eclipse中导入myeclipse项目
    HTTP学习
    springCloud的使用01-----服务的注册和发现
    springboot多数据库及分布式事务配置
  • 原文地址:https://www.cnblogs.com/xudo/p/10410146.html
Copyright © 2011-2022 走看看