PAT 1002 写出这个数
https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10^100^。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
代码:
#include <bits/stdc++.h> using namespace std; const int maxn=1e5+10; char a[11][11]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; char s[maxn]; int b[maxn]; int main() { scanf("%s",s); int len = strlen(s); int sum=0,cnt=0; int num; for(int i=0;i<len;i++) { sum+=s[i]-'0'; } if(sum==0) printf("ling\n"); for(int i=sum,j=0;i>0;j++) { cnt++; b[j]=i%10; i=i/10; } for(int i=cnt-1;i>=0;i--) { num=b[i]; if(i!=0) cout<<a[num]<<" "; else cout<<a[num]; } return 0; }