PAT 1005 Spell It Right 字符串处理
Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every
digit of the sum in English.
Input Specification:
Each input file contains one test case. Each case occupies one line which contains an N (<= 10100).
Output Specification:
For each test case, output in one line the digits of the sum in English words. There must be one space
between two consecutive words, but no extra space at the end of a line.
Sample Input:
12345
Sample Output:
one five
题目意思:对所给的一个非负整数n,求各位之和的每一位英文读音。
解题思路:先求所给n的各位之和sum,转换成string,输出对应的每一位读音即可。
#include<iostream> #include<algorithm> #include<string> #include<cstdio> using namespace std; int main() { int i,sum=0; string str; string ans; string a[10]={"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; cin>>str; for(i=0; i<str.size(); i++) { sum+=str[i]-'0'; } ans=to_string(sum); cout<<a[ans[0]-'0'];//第一个读音 for(i=1;i<ans.size();i++) { cout<<" "<<a[ans[i]-'0']; } return 0; }