//由于unsigned long long int的长度也最多达到18446744073709551615,不满足题目要求
//故而将输入x变成字符型数组,再用p指针指向该数组,用<span style="font-family: Arial, Helvetica, sans-serif;">(*p-'0')来将字符转化成数字</span>
</pre><pre code_snippet_id="1587869" snippet_file_name="blog_20160225_4_7802552" name="code" class="cpp">#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int i=0,sum=0,temp;
char x[100];
char *p=x;
string num[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
string s[50]={};
cin>>x;
while(*p!='\0'){
sum=sum + (*p-'0'); //<span style="font-family: Arial, Helvetica, sans-serif;">用</span><span style="font-family: Arial, Helvetica, sans-serif;">(*p-'0')来将字符转化成数字</span>
p++;
}
while(sum!=0){
s[i]=num[sum%10];
sum=sum/10;
i++;
}
for(i=i-1;i>0;i--){
cout<<s[i]<<" ";
}
cout<<s[0];
system("pause");
return 0;
}