PAT B1002 写出这个数
Posted mrdragon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT B1002 写出这个数相关的知识,希望对你有一定的参考价值。
PAT B1002 写出这个数
题目描述:
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10?100??。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
参考代码:
1 /**************************************************** 2 PAT B1002 写出这个数 3 ****************************************************/ 4 #include <iostream> 5 #include <vector> 6 7 using namespace std; 8 9 const string NUM_STRING[10] "ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu" ; 10 11 int main() 12 string num; 13 vector<int> ans; 14 15 cin >> num; 16 17 //计算输入数字各位之和 18 int sum = 0; 19 for (int i = 0; i < num.size(); ++i) 20 sum += num[i] - ‘0‘; 21 22 23 //拆分结果的每一位 24 for (int i = 2; sum > 0; --i) 25 ans.push_back(sum % 10); 26 sum /= 10; 27 28 29 //输出结果 30 for (int i = ans.size() - 1; i >= 0; --i) 31 cout << NUM_STRING[ans[i]]; 32 33 if (i != 0) cout << ‘ ‘; 34 35 36 return 0; 37
注意事项:
无。
以上是关于PAT B1002 写出这个数的主要内容,如果未能解决你的问题,请参考以下文章