写一个错误的题解吧;大家能看出来哪里错了吗,
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
string tb = "345678910JQKA2jokerJOKER";
string s;
while(getline(cin, s))
{
int idx =s.find('-');
string s1=s.substr(0,idx);
string s2=s.substr(idx+1,s.size());
if (s1.size()==s2.size())//若两手牌数量相同,找第一个牌相比较,输出大的
{string s11=s1.substr(0,1);
string s22=s2.substr(0,1);
tb.find(s11)>tb.find(s22)?printf("%s",s1.c_str()):printf("%s",s2.c_str());
}
else if (s1.size()!=s2.size())
{if (s.find("joker JOKER")!=s.npos)//如果有大小王,就输出大小王。
{cout<<"joker JOKER"<<endl;}
else if (s1.size()==7)//炸弹加空格,size==7
cout<<s1;
else if (s2.size()==7)
cout<<s2;
else cout<<"ERROR";
}
}
}不能用size 来判断,还是得用空格来判断啊,A和10比较会ERROR;



京公网安备 11010502036488号