问题标题: 酷町堂:6880:翻译数字WA80

0
0
已解决
王泽轩
王泽轩
资深天翼
资深天翼
#include <iostream>
#include <cstring>
using namespace std;
class robot
{
    public:
        void out(int a);
        void tran_int(int n);
        ~robot(){};
};
char *num1[]=
{
    "","one","two","three","four","five","six","seven","eight",
    "nine","ten","eleven","twelve","thirteen","fourteen",
    "fifteen","sixteen","seventeen","eighteen","nineteen"
};
char *num10[]={
    "","","twenty","thirty","forty","fifty","sixty","seventy",
    "eighty","ninety"
};
void robot::out(int a)
{
    int b=a%100;
    if(a/100!=0)
    {
        cout<<num1[a/100]<<" **dred ";
    }
    if(b<20){
        cout<<num1[b];
    }
    else
    {
        cout<<num10[b/10];
        if(b%10!=0)
        cout<<" "<<num1[b%10];
    }

 }
 void robot::tran_int(int n)
 {
        int a=n/1000000000,b=(n%1000000000)/1000000,c=(n%1000000)/1000,d=n%1000;
        if(a!=0)
        {
            out(a);
            cout<<" billion ";
        }
        if(b!=0){
            out(b);
            cout<<" million ";
        }
        if(c!=0)
        {
            out(c);
            cout<<" thousand ";
        }
        if(d!=0){
            if(d<100&&(a!=0||b!=0||c!=0))
                cout<<"and ";
                out(d);
        }
        cout<<endl;
 }
 int main(){
    int n;
    cin>>n;
    robot a;
    a.tran_int(n);
    return 0;
 }

 


0
0
0
我要回答