输入一个整数(位数不超过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 n,a,m,b=1,i=0;
char k=1;
scanf("%d",&n);
m=n;
if(n==0)
printf("a");
else
{
while(n/=10)
{
i++;
b++;
}
i=pow(10,i);
for(;i>=1;i/=10)
{
if(m*10/i%10==0)
k=0;
a=m/i%10;
a=a+97;
if(a!=97||k!=0)
printf("%c",a);
if(a!=97||b==5)
{
switch(b)
{
case 2:case 6:k='S';break;
case 3:case 7:k='B';break;
case 4:case 8:k='Q';break;
case 5:k='W';break;
case 9:k='Y';break;
default:k=0;break;
}
printf("%c",k);
}
k=1;
b--;
}
}
return 0;
}