0分,但样例全对

P2108 学英语

1.判断负数的情况应该放循环里面,刚开始s是空的。\ 2.m应该初值给1,不然会有问题,for循环前面应该特判m=1的情况,想想为什么。\ 3.i+=10是什么鬼(雾
by _Sunyubo2012 @ 2024-02-12 17:53:16


AC代码: ```cpp #include<bits/stdc++.h> using namespace std; string a[21]={"stupid fusu","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty"}; string b[11]={"stupid xiaofentu","thirty","forty","fifty","sixty","seventy","eighty","ninety"}; int main(){ string s; long long n=0,m=1,f; f=1; while(cin>>s){ if(s=="negative")f=-1; if(s=="hundred") m*=100; if(s=="thousand")n+=m*1000,m=0; if(s=="million") n+=m*1000000,m=0; if(m==1) m--; for(int i=1;i<=20;i++) if(s==a[i]) m+=i; for(int i=1;i<=7;i++) if(s==b[i]) m+=20+i*10; } n+=m; cout<<n*f; } ```
by _Sunyubo2012 @ 2024-02-12 17:56:10


|