题解:
使用一个二维数组将数字的拼音表示保存起来,需要输出的时候直接调用这个映射即可。
代码:
#include <iostream>
#include <cstring>
using namespace std;
char map[][6] = {"ling", "yi", "er", "san", "si", "wu",
"liu", "qi", "ba", "jiu"};
int main()
{
char s[110];
cin.getline(s, 110);
int len = strlen(s);
int sum = 0, ans[5], nLen = 0;
for(int i = 0; i < len; i++)
{
sum += s[i] - '0';
}
while(sum)
{
ans[nLen++] = sum % 10;
sum /= 10;
}
for(int i = nLen - 1; i > 0; i--)
{
cout << map[ans[i]] << " ";
}
cout << map[ans[0]];
return 0;
}