输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成中文读取。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用0-9表示零~玖,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“2W3Q1B08”元。
输入格式:
输入在一行中给出一个不超过9位的非负整数
输出格式:
在一行中输出转换后的结果。注意“零”的用法必须符合中文读取习惯。如100000读做“十万”,而不是“一十万”。10001会读做“一万零一”。
输入样例:
23108
输出样例:
2W3Q1B08
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<stdlib.h>
#include<math.h>
#include<queue>
#include<algorithm>
#define inf 0x3f3f3f
using namespace std;
const int N=1e6+5;
typedef long long ll;
int main()
{
char x[12];
scanf("%s",&x);
int l=strlen(x);
int f=0,c,i;
for(i=0;i<l;i++)
{
c=x[i]-'0';
if(l-i==6&&c==1)
{
}
else
{
if(x[i-1]=='0'&&c)
printf("0");
if(c)
printf("%d",c);
}
if(l-i==5&&c==0)
printf("W");
if(c)
{
if(l-i==9)
printf("Y");
if(l-i==8||l-i==4)
printf("Q");
if(l-i==7||l-i==3)
printf("B");
if(l-i==6||l-i==2)
printf("S");
if(l-i==5)
printf("W");
}
}
return 0;
}