#include<stdio.h>
#include<string.h>
void printf_num(int num);
main()
{
char str[101];
int z,i,sum;
i = 0;
sum = 0;
scanf("%s",str);
i=strlen(str);
for(z=0;z<=i-1;z++){
sum=sum+str[z]-'0';
}
printf_num(sum);
return 0;
}
void printf_num(int num){
int z,a[101],sum,i;
sum = 0;
i = 0;
z = 1;
while (num>9){
i=num%10;
num/=10;
a[z]=i;
z++;
}
a[z]=num;
for (i=z;i>=2;i--){
switch(a[i]){
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;
case 0:printf("ling ");break;
}
}
if(i==1){
switch(a[i]){
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;
case 0:printf("ling");break;
}
}
}
重点在于用字符串做,长整和长长整是做不了的。