poj2121--暴力解法

#include<iostream>
#include<string>
using namespace std;
string sum[50]={"negative","zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen"
,"eighteen","nineteen","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety","hundred","thousand","million"};
int main(){
    string s;
    int num=0,res=0;
    while(cin>>s){
        if(s==sum[0])
        cout<<"-";
        else if(s==sum[1])
        num+=0;
        else if(s==sum[2])
        num+=1;
        else if(s==sum[3])
        num+=2;
        else if(s==sum[4])
        num+=3;
        else if(s==sum[5])
        num+=4;
        else if(s==sum[6])
        num+=5;
        else if(s==sum[7])
        num+=6;
        else if(s==sum[8])
        num+=7;
        else if(s==sum[9])
        num+=8;
        else if(s==sum[10])
        num+=9;
        else if(s==sum[11])
        num+=10;
        else if(s==sum[12])
        num+=11;
        else if(s==sum[13])
        num+=12;
        else if(s==sum[14])
        num+=13;
        else if(s==sum[15])
        num+=14;
        else if(s==sum[16])
        num+=15;
        else if(s==sum[17])
        num+=16;
        else if(s==sum[18])
        num+=17;
        else if(s==sum[19])
        num+=18;
        else if(s==sum[20])
        num+=19;
        else if(s==sum[21])
        num+=20;
        else if(s==sum[22])
        num+=30;
        else if(s==sum[23])
        num+=40;
        else if(s==sum[24])
        num+=50;
        else if(s==sum[25])
        num+=60;
        else if(s==sum[26])
        num+=70;
        else if(s==sum[27])
        num+=80;
        else if(s==sum[28])
        num+=90;
        else if(s==sum[29]){
            num*=100;
        }
        else if(s==sum[30]){//当为1000之后,原数应加上num*1000,而非直接乘,1000000也是一样 
            res+=num*1000;
            num=0;
        }
        else if(s==sum[31]){
            res+=num*1000000;
            num=0;
        }
        char biao=getchar();
        //当系统读到回车时,输出 
        if(biao=='\n'){
            cout<<num+res<<endl;
            num=0;res=0;
        }
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/tz346125264/p/4905602.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值