PAT_甲级_1005 Spell It Right

题目要求:

给定一个非负整数,将其每一位进行相加,然后对结果的每一位从左往右输出其对应的英文数字

算法思路:

由于整数大小最大为10^100,得用string存储才行,对string中的每一位减去'0'后进行求和,然后再转化为string,从左往右依次输出对应每一位的英文字母,为了方便对最终结果的每一位进行输出建立从数字到英文单词的映射numToWords,下标表示每一位数字,其值代表对应的英文单词。

提交结果:

PAT_甲级_1005 Spell It Right_第1张图片

AC代码:
#include
#include
#include

using namespace std;

string numToWords[10] = {"zero","one","two","three","four","five","six","seven","eight","nine"};

int main(){
    string a;
    cin>>a;
    //对每一位进行求和
    int sum = 0;
    for(int i=0;i

你可能感兴趣的:(算法-数据结构,c++)