#include<iostream> #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include <string> #include<algorithm> #include<map> #include<vector> #include<queue> using namespace std; char num[10][10]={ //数字与单词的对应 "zero","one","two","three","four","five","six","seven","eight","nine" } ; string s; //初始字符串 int digit[10]; int main(){ cin>>s;//把输入的数字当做字符处理了 int len=s.length(); int sum=0,numLen=0;// sum为s的数位之和,numLen计量sum的长度 for(int i=0;i<len;i++){ sum+=(s[i]-'0'); //累加s的数位,得到sum(字符"转"数字了) } if(sum==0){ printf("%s",num[0]); }else{ while(sum!=0){ //将sum存放到digit数组中 digit[numLen++]=sum%10; sum/=10; } for(int i=numLen-1;i>=0;i--){ //从高位到低位输出digit数组 printf("%s",num[digit[i]]); if(i!=0) printf(" "); } } system("pause"); return 0; }