读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
#include <bits/stdc++.h>
using namespace std;
int main()
{
int sum=0,j=0;
int f[5];
char ch;
string a[10];
a[0]="ling";
a[1]="yi";
a[2]="er";
a[3]="san";
a[4]="si";
a[5]="wu";
a[6]="liu";
a[7]="qi";
a[8]="ba";
a[9]="jiu";
ch=getchar();
while(ch!='\n'){
switch(ch){
case '0':sum+=0;break;
case '1':sum+=1;break;
case '2':sum+=2;break;
case '3':sum+=3;break;
case '4':sum+=4;break;
case '5':sum+=5;break;
case '6':sum+=6;break;
case '7':sum+=7;break;
case '8':sum+=8;break;
case '9':sum+=9;break;
}
ch=getchar();
}
while(sum>0)
{
f[j]=sum%10;
j++;
sum=sum/10;
}
for(int i=j-1;i>0;i--)
{
cout<<a[f[i]]<<" ";
}
cout<<a[f[0]]<<endl;
return 0;
}
|