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

    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
    一.代码。

    include <stdio.h>

    define MAXLENGTH 9

    char str[4] = {' ', 'S', 'B', 'Q'};

    int seperate (int * numList, long num)
    {
    int i = MAXLENGTH-1;

    while(1)
    {
    numList[i] = num % 10;
    num /= 10;

    if(num <= 0)
    break;

    i--;
    }

    return i;
    }

    void readNum(int numList[], int start)
    {
    if(start == MAXLENGTH - 1)
    printf("a");

    else
    {
    if(start == 0)
    printf("%cY", 'a'+numList[0]);

    for(int c = 0; c < 2; c++)
    {
    if(start > 4)
    c = 1;

    int position = 3;
    int hasprint = 0;
    int i = c*4 +1;

    if(start > i)
    {
    position -= (start - i);
    i = start;
    }

    for(; i <= (c+1)*4; i++, position--)
    {
    if(numList[i] != 0)
    {
    if(position > 0)
    printf("%c%c", 'a'+numList[i], str[position]);
    else
    printf("%c", 'a'+numList[i]);
    hasprint = 1;
    }

    else
    {
     if(i < MAXLENGTH - 1 && numList[i+1] != 0)
      printf("a");
    }
    

    }

    if(c == 0 && hasprint == 1)
    printf("W");
    }
    }

    printf(" ");
    }

    int main()
    {
    int numList[MAXLENGTH] = {0};
    long num;
    scanf("%d", &num);
    int start = seperate(numList, num);

    readNum(numList, start);

    return 0;
    }
    二.设计思路。
    审题,找出关系
    三,注意
    注意个位十位的对应字母

  • 相关阅读:
    Wannafly挑战赛29-A/B
    hdu-4819-线段树套线段树
    CF-877E-线段树+哈希
    CF-413E-线段树
    CF-787D-线段树建图+最短路
    CF-339D-线段树
    2017.4.26 慕课网--Java 高并发秒杀API配置文件(持续更新)
    2017.4.26 慕课网--Java 高并发秒杀API(一)
    2017.4.19 慕课网-通过自动回复机器人学习mybatis
    2017.4.18 linux中执行某文件提示权限不够
  • 原文地址:https://www.cnblogs.com/oywc1026/p/10405859.html
Copyright © 2011-2022 走看看