其他分享
首页 > 其他分享> > 7-1 币值转换 (20 分)

7-1 币值转换 (20 分)

作者:互联网

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>

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(x==0)
{
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(i==8){
        printf("Y");
    }
    if(i==7||i==3)
        printf("Q");
    if(i==6||i==2)
    {
        printf("B");
    }
    if(i==5||i==1)
    {
        printf("S");
    }
    if(i==4)
    {
        printf("W");
    }
    }
if(i==4&&z==0)
{
    printf("W");
}
if(n==0&&i==3&&z==0)
{
    printf("a");
}
    y=y%m;
    i--;
    n=z;
}
while(y!=0);
return 0;

}
实验步骤
利用数学函数 include<math.h> 然后定义整型变量和字符变量 接着是判断输入的值, 然后利用除余的方式,整理出每一位数字,然后进行判断,最后输出结果!

标签:输出,转换,样例,&&,printf,20,include,币值,输入
来源: https://www.cnblogs.com/xw1203/p/10386522.html