您的位置:首页 > 其它

1002. 写出这个数

2018-01-15 14:09 127 查看

1002. 写出这个数 (20)

时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例:
1234567890987654321123456789
输出样例:
yi san wu
#2018年1月15日 14:10:24#
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
typedef long long ll;
void backName(int x);
int main()
{
string str;
while(cin>>str){
ll max=str.length();
int t=0;
ll sum=0;
for(int i=max-1; i>=0; i--)
{
t=str[i]-'0';
sum+=t;
}//qushu
//cout<<sum<<endl;
char num[100+10];
ll len= sprintf(num,"%lld",sum);
for(int j=0;j<len;j++){
int k = num[j]-'0';
backName(k);
if(j!=len-1){
printf(" ");
}
}
}
return 0;
}
void  backName(int x)
{
switch(x)
{
case 0:
printf("ling");
break;
case 1:
printf("yi");
break;
case 2:
printf("er");
break;
case 3:
printf("san");
break;
case 4:
printf("si");
break;
case 5:
printf("wu");
break;
case 6:
printf("liu");
break;
case 7:
printf("qi");
break;
case 8:
printf("ba");
break;
case 9:
printf("jiu");
break;
}
}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: