| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
没人In Reply To:2121 有人能看下么 怎么老是wrong呢 Posted by:passJava at 2009-07-22 20:52:04 > #include<iostream>
> #include<fstream>
> #include<string>
> #include<strstream>
> using namespace std;
> int num(string str,int &sum,int &ms,int &neg) {
> if(str=="negative") {neg=1; return sum;}
> if(str=="zero") return sum;
> if(str=="one") return sum+1;
> if(str=="two") return sum+2;
> if(str=="three") return sum+3;
> if(str=="four") return sum+4;
> if(str=="five") return sum+5;
> if(str=="six") return sum+6;
> if(str=="seven") return sum+7;
> if(str=="eight") return sum+8;
> if(str=="nine") return sum+9;
> if(str=="ten") return sum+10;
> if(str=="eleven") return sum+11;
> if(str=="twelve") return sum+12;
> if(str=="thirteen") return sum+13;
> if(str=="fourteen") return sum+14;
> if(str=="fifteen") return sum+15;
> if(str=="sixteen") return sum+16;
> if(str=="seventeen") return sum+17;
> if(str=="eighteen") return sum+18;
> if(str=="nineteen") return sum+19;
> if(str=="twenty") return sum+20;
> if(str=="thirty") return sum+30;
> if(str=="forty") return sum+40;
> if(str=="fifty") return sum+50;
> if(str=="sixty") return sum+60;
> if(str=="seventy") return sum+70;
> if(str=="eighty") return sum+80;
> if(str=="ninety") return sum+90;
> if(str=="hundred") return sum*100;
> if(str=="thousand") {
> ms=ms+sum*1000;
> sum=0;
> return 0;
> }
> if(str=="million") {
> ms=ms+sum*1000000;
> sum=0;
> return 0;
> }
> return 0;
> }
> int main() {
>
> char *p=new char[400];
> int sum=0,i,count,ms,neg;
> // cout<<a<<endl;
> // ifstream cin("in.txt",ios::in);
> // while(cin.peek()!='\n') {
> while(true) {
> count=0;
> sum=0;
> ms=0;
> neg=0;
> cin.getline(p,100,'\n');
> if (p[0]=='\0')
> {
> // cout<<endl;
> break;
> }
> for(i=0;p[i]!='\0';i++)
> if(p[i]==' ') count++;
>
> istrstream istr(p,i);
> string *str=new string[count+1];
> for(i=0;i<count+1;i++)
> istr>>str[i];
>
> for(i=0;i<count+1;i++) {
>
> sum=num(str[i],sum,ms,neg);
>
> }
> sum=sum+ms;
> if(neg==1)
> sum=-sum;
>
> cout<<sum<<endl;
>
> }
> // cout<<endl;
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator