PAT甲1005 Spell It Right (20)

#include <stdio.h>
#include <stdlib.h>
#include <cstdio>
#include <cstring>
#include <string>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <math.h>
#include <map> 
#include <vector>
using namespace std;

char s[1010];

map<int,string> mp;

void initmap()
{
    mp[1]="one";
    mp[2]="two";
    mp[3]="three";
    mp[4]="four";
    mp[5]="five";
    mp[6]="six";
    mp[7]="seven";
    mp[8]="eight";
    mp[9]="nine";
    mp[0]="zero";
}

int A[100010];

int change(int a)
{
    int length=0;
    if(a==0)
    {
        length++;
        return length;
    }
    while(a>0)
    {
        A[length++]=a%10;
        a=a/10;
    }
    return length;
}

int main()
{
    scanf("%s",&s);
    initmap();
    int len=strlen(s);
    int sum=0;
    for(int i=0;i<len;i++)
    {
        sum+=s[i]-'0';
    }
    int lenth=change(sum);
    for(int i=lenth-1;i>=0;i--)
    {
        cout<<mp[A[i]];
        if(i!=0)printf(" ");
    }
    printf("\n");
    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/yhy489275918/article/details/80426256