代码
#include
#include
using namespace std;
char num[10][5] = { “ling”, “yi”, “er”, “san”, “si”, “wu”, “liu”, “qi”, “ba”, “jiu” };//定义一个字符串数组存储各个数字
int main(){
char n[100];//由于数据太大用字符串数组存储
int sum = 0;
cin >> n;
int length = strlen(n);
for (int i = 0; i < length; i++){
sum = sum + (n[i] - ‘0’);
}
int s[10];
int j = 0;
while (sum != 0){
s[j] = sum % 10;
sum = sum / 10;
j++;
}
if(j>0){
for (int i = j - 1; i >0; i–){//倒序输出
cout << num[s[i]]<<" ";
}
cout<<num[s[0]];
}
else
cout<<a[s[0]];
return 0;
}
分析
由于题目所用数据太大,普通整形数据类型无法存储,使用字符数组来存储解决