C
#include <stdio.h>
#include <string.h>
char str[10][5] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
int main()
{
char input[101]; //100+1
if(!scanf("%s",input))
{
return 0;
}
int temp = 0;
unsigned int length = strlen(input);
for(int i = 0 ; i < length; i++)
{
temp += input[i] - '0'; //ASCLL
}
int output[4]; //3+1
int count = 0;
for(; temp !=0 ; temp /= 10)
{
output[count++] = temp%10; //倒叙输入
}
for(int i = --count; i >= 0; i--)
{
printf("%s",str[output[i]]); //倒序输出
if(i!=0)
printf(" ");
}
return 0;
}
C++
#include<iostream>
using namespace std;
string str[10] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
void handle(string a)
{
int sum = 0;
for(int i = 0; i < a.size(); i++)
{
sum += (a[i]-'0');
}
string num = to_string(sum);
for(int i = 0; i < num.size(); i++)
{
if(i!=0)cout << ' ';
cout << str[num[i] - '0'];
}
}
int main()
{
string s;
cin >> s;
handle(s);
return 0;
}