1005 Spell It Right (20分)

解法一:map

map<char,string> mp;

void init()
{
    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 main()
{
    init();

    string s;
    cin>>s;

    int sum=0;
    for(int i=0;i<s.size();i++) sum+=s[i]-'0';

    string res=to_string(sum);

    for(int i=0;i<res.size();i++)
    {
        if(i) cout<<' ';
        cout<<mp[res[i]];
    }

    //system("pause");
    return 0;
}

解法二:数组

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


int main()
{
    string s;
    cin>>s;

    int sum=0;
    for(int i=0;i<s.size();i++) sum+=s[i]-'0';

    string res=to_string(sum);

    for(int i=0;i<res.size();i++)
    {
        if(i) cout<<' ';
        cout<<mp[res[i]-'0'];
    }

    //system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/fxh0707/p/14222911.html