PAT (Basic Level) Practice (中文)1002 写出这个数 (20 分)

题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <string>
 4 #include <cstring>
 5 #include <algorithm>
 6 #include <stack>
 7 using namespace std;
 8 char s[1005];
 9 string a[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
10 int main()
11 {
12        while(scanf("%s",&s)!=EOF){
13            int sum=0;
14            int len=strlen(s);
15            for(int i=0;i<len;i++){
16                sum+=s[i]-'0';
17            }
18            //cout<<sum<<endl;
19            stack<int> sta;
20            while(sum){
21                sta.push(sum%10);
22                sum/=10;
23            }
24            while(!sta.empty()){
25                cout<<a[sta.top()];
26                sta.pop();
27                if(!sta.empty()) cout<<' ';
28            }
29            cout<<endl;
30        }
31     return 0;
32 }
原文地址:https://www.cnblogs.com/shixinzei/p/10770702.html