online_judge_1010
来源:互联网 发布:spss数据统计分析实例 编辑:程序博客网 时间:2024/06/06 05:31
#include <iostream>#include <string>using namespace std;using std::string;string str[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};int ToInt(string s){ int a; for(a=0; a<10; ++a) { if(str[a] == s) break; } return a;}int main(){ string s; string s1[6]; int a,b,x,y; do { a = 0; b = 0; cin>>s; while(s != "+") { a = ToInt(s); b = b*10 + a; cin>>s; } x = 0; y = 0; cin>>s; while(s != "=") { x = ToInt(s); y = y*10 + x; cin>>s; } if(b+y == 0) break; cout<<b+y<<endl; }while(1); return 0;}
这个代码可以通过……
但是下面的代码始终不能通过……
#include <iostream>#include <string>using namespace std;using std::string;string str[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};int ToInt(string s){ int a; for(a=0; a<10; ++a) { if(str[a] == s) break; } return a;}int main(){ string s; string s1[6]; unsigned int a,b,x,y; while(getline(cin, s)) { a = s.find('+'); s1[0] = s.substr(0,a-1); s1[1] = s.substr(a+2,s.size()); a = s1[1].find('='); s1[1] = s1[1].substr(0,a-1); a = s1[0].find(' '); if(a != string::npos) { s1[2] = s1[0].substr(0, a); s1[3] = s1[0].substr(a+1,s1[0].size()); a = ToInt(s1[2]); b = ToInt(s1[3]); x = a*10 + b; } else x = ToInt(s1[0]); a = s1[1].find(' '); if(a != string::npos) { s1[4] = s1[1].substr(0, a); s1[5] = s1[1].substr(a+1,s1[1].size()); a = ToInt(s1[4]); b = ToInt(s1[5]); y = a*10 + b; } else y = ToInt(s1[1]); cout<<s1[2].size()<<'\t'<<s1[3].size()<<'\t'<<s1[4].size()<<'\t'<<s1[5].size()<<endl; if(x==0 && y==0) break; cout<<x+y<<endl; } return 0;}
我推测是因为这种方法不能很好地符合特殊输入需求。。也许是字母间多个空格……
0 0
- online_judge_1010
- 【AndroidStudio】关于SVN的相关配置简介
- XML DOM nextSibling 属性
- percona tpcc的安装和使用
- Oracle的书写规范和优化建议
- Linux- 如何算出函数的运行时间
- online_judge_1010
- [Sublime Text 插件] 新建固定格式的Lua文件
- 52种8阶环(2015-11-18 17:21:51)
- android RTL布局支持说明
- 分析函数进阶(一)
- Dubbo:关于与高版本的Spring集成的事情
- iOS tableView的cell的重用问题
- Python练习程序(二)文件处理和列表元组
- hdu 3460