7-1 币值转换

7-1 币值转换 (20 分)

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

输入格式:

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

输出格式:

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

include<stdio.h>

include<stdbool.h>

void toNUM(int n);

void toUNIT(int n);

int main()

{

bool BeginC = false;

bool Czero = false;

int a[9] = {0};

int n, i, j, tmp;

scanf("%d", &n);

for(i=100000000, j=0; i>0; i/=10)

{

a[j] = n/i;

n %= i;

j++;

}

for(i=0; i<j; i++)

{

//printf("a[%d]:%d", i, a[i]);

    if(a[i]>0)

    {
        BeginC = true;
    }
    if(BeginC)
    {
        if(a[i] != 0)
        {
            if(Czero)
            {
                if(i!=5)
                {
                    printf("a");
                }
                Czero = false;
            }
            toNUM(a[i]);
            toUNIT(i);
        }
        if(a[i] == 0)
        {
             /**< if(i == 4)
            if(i == 4 && ((a[1]!=0) || (a[2]!=0) || (a[3]!=0)|| (a[4]!=0)))
                    toUNIT(i);
            Czero = true;
        }
    }
}
if(!BeginC)
{
    printf("a"); /**< 如果数组一直为0,输出0 */
}
system("pause") ;

}

void toNUM(int n)

{

switch(n)

{

case 0:

printf("a");

break;

case 1:

printf("b");

break;

case 2:

printf("c");

break;

case 3:

printf("d");

break;

case 4:

printf("e");

break;

case 5:

printf("f");

break;

case 6:

printf("g");

break;

case 7:

printf("h");

break;

case 8:

printf("i");

break;

case 9:

printf("j");

break;

default:

printf("@ERROR@");

break;

}

}

void toUNIT(int n)

{

switch(n)

{

case 0:

printf("Y");

break;

case 1:

printf("Q");

break;

case 2:

printf("B");

break;

case 3:

printf("S");

break;

case 4:

printf("W");

break;

case 5:

printf("Q");

break;

case 6:

printf("B");

break;

case 7:

printf("S");

break;

default:

printf("");

break;

}

}

原文地址:https://www.cnblogs.com/lijiawei18/p/10412086.html

时间: 2024-08-02 01:41:54

7-1 币值转换的相关文章

循环-19. 币值转换(20)

输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S.B.Q.W.Y分别代表拾.百.仟.万.亿.于是23108元应被转换输出为"cWdQbBai"元. 输入格式: 输入在一行中给出一个不超过9位的非负整数. 输出格式: 在一行中输出转换后的结果.注意"零"的用法必须符合中文习惯. 输入样例1: 8

趣味PAT--循环-19. 币值转换(20)

One visible minute on the stage is attributed to ten years of invisible practice off the stage. "台上一分钟,台下十年功" 题目链接:循环-19. 币值转换(20) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成“贰万叁仟壹百零捌”元.为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S.B.Q.W.Y分别代表

7-23 币值转换

7-23 币值转换(20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S.B.Q.W.Y分别代表拾.百.仟.万.亿.于是23108元应被转换输出为"cWdQbBai"元. 输入格式: 输入在一行中给出一个不超过9位的非负整数. 输出格式: 在一行中输出转换后的结果.注意"零"的用法必须

币值转换

7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S.B.Q.W.Y分别代表拾.百.仟.万.亿.于是23108元应被转换输出为"cWdQbBai"元. 输入格式: 输入在一行中给出一个不超过9位的非负整数. 输出格式: 在一行中输出转换后的结果.注意"零"的用法必须

寒假二:币值转换

7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S.B.Q.W.Y分别代表拾.百.仟.万.亿.于是23108元应被转换输出为"cWdQbBai"元. 输入格式: 输入在一行中给出一个不超过9位的非负整数. 输出格式: 在一行中输出转换后的结果.注意"零"的用法必须

循环-19. 币值转换

输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成“贰万叁仟壹百零捌”元.为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S.B.Q.W.Y分别代表拾.百.仟.万.亿.于是23108元应被转换输出为“cWdQbBai”元. 输入格式: 输入在一行中给出一个不超过9位的非负整数. 输出格式: 在一行中输出转换后的结果.注意“零”的用法必须符合中文习惯. 输入样例1: 813227345 输出样例1: iYbQdBcSc

-PAT-java-5-23 币值转换 (20分)

输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S.B.Q.W.Y分别代表拾.百.仟.万.亿.于是23108元应被转换输出为"cWdQbBai"元. 输入格式: 输入在一行中给出一个不超过9位的非负整数. 输出格式: 在一行中输出转换后的结果.注意"零"的用法必须符合中文习惯. 输入样例1: 8

[Python3 练习] 003 货币转换

题目:货币转换 (1) 描述 人民币和美元是世界上通用的两种货币,写一个程序进行货币间币值转换 记人民币和美元之间的汇率为:1 美元 = 6.78 人民币 程序可以接受人民币或美元输入,转换为另一种货币输出 人民币采用 RMB 表示,美元采用 USD 表示,符号和数值之间没有空格,如 RMB123,USD18.14 (2) 注意 这是一个 OJ 题目,获得输入请使用 input() OJ 是 Online Judge 系统的简称,用来在线检测程序源代码的正确性 不提示输出格式错误,结果小数点后保

货币转换

7-1 币值转换 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S.B.Q.W.Y分别代表拾.百.仟.万.亿.于是23108元应被转换输出为"cWdQbBai"元. 输入格式: 输入在一行中给出一个不超过9位的非负整数. 输出格式: 在一行中输出转换后的结果.注意"零"的用法必须符合中文习惯.