代码参考柳神代码:1005. Spell It Right (20)-PAT甲级真题
本题要点在于int型和string型之间的转化。
#include <iostream>
#include <string>
using namespace std;
int num[101];
int main()
{
string a;
cin >> a;
int sum=0;
for (int i = 0; i < a.length(); i++)
{
num[i] = a[i] - '0';//string型转int型
sum = sum + num[i];//计算所有录入的数字之和
}
string s =to_string(sum);
string arr[10] = { "zero","one","two","three","four","five","six","seven","eight","nine" };
cout<< arr[s[0] - '0'];//和pat1004一样的处理方法,将第一个字符单独用一条命令输出,后面的字符用for循环输出,满足题目的空格要求。
for (int i = 1; i < s.length(); i++)
{
cout << " " << arr[s[i] - '0'];
}
}