PAT 1002 写出这个数
1. 题目描述及在线测试位置
PAT 1002 写出这个数 :读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字
2. 具体实现
2.1 基本思路
- 通过string类型存储输入整数,随后遍历字符串的各个字符 并 计算各位数字之和
- 将计算结果再转换为string(使用to_string( )函数),依次读取各个字符 并 打印对应数组下标的元素值
- 注意:解法中用到了to_string( )函数,由于to_string( )在C++ 11及其之后的版本才支持,所以在Dev-C++低版本中会报错(如 v5.11) : ‘to_string’ is not a member of ‘std’ ,需要更新Dev-C++ 或 手动设置编译环境
2.2 AC代码
#include <iostream>
#include<string>
using namespace std;
int main()
{
string number;
string n[10] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu" };
int sum = 0;
cin >> number;
for (int i=0; number[i] != '\0'; i++)
sum += number[i] - '0';
number = to_string(sum);
std::cout << n[number[0] - '0'];
for (int i = 1; number[i] != '\0'; i++)
std::cout <<" "<< n[number[i] - '0'];
return 0;
}