PAT Basic 1002

来源:互联网 发布:天津大学有网络教育吗 编辑:程序博客网 时间:2024/05/19 17:03

1002 写出这个数 (20)

时间限制
400 ms

内存限制
65536 kB

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。

输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:
1234567890987654321123456789
输出样例:
yi san wu

解答:

#include <iostream>#include <cstring>#include <string>#include <vector>using namespace std;const int maxn = 1000+5;char s[maxn];string infos[11]={"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu", "shi"};int main(){    memset(s, 0, sizeof(s));    cin>>s;    int j, sum=0;    int len=strlen(s);    for(int i=0;i<len;i++){        s[i]-='0';        sum+=s[i];    }    vector<string> res;    res.clear();    int t=0;    j=0;    while(sum){        t=sum%10;        res.push_back(infos[t]);        sum/=10;    }    int s=res.size();    for(int i=s-1;i>=0;i--){        if(i==0) cout<<res[i]<<endl;        else cout<<res[i]<<" ";    }    return 0;}
原创粉丝点击