1005 Spell It Right (20)

無坑點,唯一比較麻煩的是,可能輸入有100位。

 

 

#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
string str;
void output(int n)
{
    switch(n)
    {
    case 1:
        cout<<"one";
        break;
    case 2:
        cout<<"two";
        break;
    case 3:
        cout<<"three";
        break;
    case 4:
        cout<<"four";
        break;
    case 0:
        cout<<"zero";
        break;
    case 5:
        cout<<"five";
        break;
    case 6:
        cout<<"six";
        break;
    case 7:
        cout<<"seven";
        break;
    case 8:
        cout<<"eight";
        break;
    case 9:
        cout<<"nine";
        break;
    }
}
int main()
{
    while(cin>>str)
    {
        int sum = 0;
        for(int i = 0; i < str.length(); i++)
        {
            sum = sum + str[i] - '0';
        }
        int pp = 1;
        int temp = sum / 10;
        while(temp)
        {
            temp = temp / 10;
            pp = pp * 10;
            //cout<<temp<<endl;
        }

        while(pp)
        {
            //cout<<pp<<endl;
            output(sum / pp);
            sum = sum % pp;
            pp = pp / 10;
            if(pp) cout<<" ";
        }
        cout<<endl;
    }

    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章