题目分析:用一个字符串输入之后遍历每一位求和后,不断%10获取最后一位存储下来,逆序用对应的英文单词输出(注意输入为0的情况)

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 
 5 string a[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
 6 int b[10];
 7 
 8 int main(){
 9     string s;
10     while(cin>>s){
11         int len = s.size();
12         int sum = 0;
13         for(int i = 0; i < len; i++){
14             int x = s[i] - '0';
15             sum += x;
16         }
17 //        cout<<sum<<endl;
18         int cnt = 0;
19         if(sum == 0){
20             b[cnt++] = 0;
21         }else{
22             while(sum != 0){
23                 int x = sum % 10;
24                 sum /= 10;
25                 b[cnt++] = x;
26             }
27         }
28         for(int i = cnt-1; i >= 0; i--){
29             if(i != cnt-1) printf(" ");
30             cout<<a[b[i]];
31         }
32         printf("\n");
33     }
34     return 0;
35 }

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄