您的位置:首页 > 其它

hdu 1228 A+B 字符串处理 超级大水题

2013-07-14 00:41 381 查看
中文意思不解释。

很水,我本来想用switch处理字符串,然后编译不通过。。。原来switch只能处理整数型的啊,我都忘了。

然后就有了很挫的一大串if代码了。。。

代码:

#include <iostream>
#include <string>
using namespace std;

int digit(string str) {
if (str == "zero")
return 0;
if (str == "one")
return 1;
if (str == "two")
return 2;
if (str == "three")
return 3;
if (str == "four")
return 4;
if (str == "five")
return 5;
if (str == "six")
return 6;
if (str == "seven")
return 7;
if (str == "eight")
return 8;
if (str == "nine")
return 9;
return -1;
}

int getval() {
string tmp;
int s = 0;
while (cin >> tmp && tmp != "+" && tmp != "=") {
s = s * 10 + digit(tmp);
//		cout << tmp << endl;
}
return s;
}

int main() {
int p1, p2;
while (1) {
p1 = getval();
p2 = getval();
//		cout << p1 << " + " << p2 << " = "<< endl;
if (p1 == 0 && p2 == 0)
break;
cout << p1 + p2 << endl;
}//while
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: