ivy828 2016-09-27 08:21 采纳率: 0%
浏览 1017

poj 英语数字转换器 编程问题求解答

#include
#include
#include
#include
#include
#include
#include
using namespace std;
map reff;
int main()
{
reff["zero"] = 0; reff["one"] = 1; reff["two"] = 2;
reff["three"] = 3; reff["four"] = 4; reff["five"] = 5;
reff["six"] = 6; reff["seven"] = 7; reff["eight"] = 8;
reff["nine"] = 9; reff["ten"] = 10; reff["eleven"] = 11;
reff["twelve"] = 12; reff["thirteen"] = 13; reff["fourteen"] = 14;
reff["fifteen"] = 15; reff["sixteen"] = 16; reff["seventeen"] = 17;
reff["eighteen"] = 18; reff["nineteen"] = 19; reff["twenty"] = 20;
reff["thirty"] = 30; reff["forty"] = 40; reff["fifty"] = 50;
reff["sixty"] = 60; reff["seventy"] = 70; reff["eighty"] = 80;
reff["ninety"] = 90; reff["hundred"] = 100; reff["thousand"] = 1000;
reff["million"] = 1000000;
//首先是怎么处理输入?
string a;
while(getline(cin,a))
{
string s;
long res = 0;//存放结果
long res1 = 0;
long cur = 0;//存放暂时的结果
int last = 1000000;//看上一次的千、百、百万单位是什么
int flag = 0;//看是不是负数
queue q;
int i = 0;
while(i {
s = "";
while(a[i]!=' ' && i {
s+=a[i];
i++;
}
q.push(s);//这里没有问题所有的子串都进去了
i++;
}
if(q.front() == "negative")
{
flag = 1;
q.pop();
}
while(!q.empty())
{
cur = reff[q.front()];
if(cur >= 10 && cur <= 100)
{
last = 10;
}
q.pop();
if(cur {
if(reff[q.front()]>=100 && reff[q.front()]<=last)
{
cur = cur * reff[q.front()];
last = reff[q.front()];
q.pop();
res += cur;
if(res > 1000000)
{
res1 = res;
res = 0;
cur = 0;
}
}
else if(reff[q.front()]>=100 && reff[q.front()]>last)
{
res = (res+cur)*reff[q.front()];
last = reff[q.front()];
q.pop();
if(res > 1000000)
{
res1 = res;
res = 0;
cur = 0;
}
}
else
res += cur;
}
else
res += cur;
}
if(a!=" ")
{
if(flag == 0)
cout<<res + res1<<endl;
else
cout<<-(res + res1)<<endl;
}
}
return 0;
}
请问为什么会RE?

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译