扑克牌3张两人比大小,C语言代码
扑克牌3张两人比大小,C语言代码
背景:两个人每人发3张牌(各从一副牌中),每张牌包括花色(红桃(Heart)>黑桃(Spade)>方块(Diamond)>梅花(Club))和大小(从小到大依次是:2-10、J、Q、K、A),谁手上有最大的一张或多张(如果有相同的牌)牌谁获胜。?输入:A的3张牌(未排序)和B的3张牌(未排序)。(参见用例)?输出:A的3张牌的排序后的输出和B的3张牌的排序后的输出,以及A和B谁获胜。(参见用例)
1.DA H2 C3?
2.H4 H3 DJ?
View plain
1.Winner is B!?
2.A: H2 DA C3?
3.B: H4 H3 DJ?
Unlimited
256M
0
Test Case 3
View plain
1.HA CA CB?
2.HQ CJ CQ?
View plain
1.Input Error!?
Unlimited
256M
0
Test Case 4
View plain
1.HA CA CJ?
2.DA DK DK?
View plain
1.Input Error!?
Unlimited
256M
0
Test Case 5
View plain
1.SA SJ SK?
2.SA SJ SK?
View plain
1.Winner is X!?
2.A: SA SK SJ?
3.B: SA SK SJ?
Unlimited
代码
#include
int asc(char p[][3]);
intisError(char p1[][3]);
void compare(char p3[][3],char p4[][3]);
int main()
{
char a[3][3],b[3][3],c;
int i,j,resulta,resultb,result,flag=0;
printf("请输入A的扑克牌,扑克牌之间以空格隔开,然后按下回车:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
c=getchar();
if(c!=' '&&c!=10)
{
if(j==0)
{
if(c=='H'||c=='S'||c=='D'||c=='C')
{
if(c=='H')
c='Z';
}
else
{
printf("Input Error!\n");
return 0;
}
}
if(j==1)
{
if(c=='J'||c=='Q'||c=='K'||c=='A'||(c>='1'&&c<='9'))
{
if(c=='J')
c=59;
if(c=='Q')
c=60;
if(c=='K')
c=61;
if(c=='A')
c=62;
if(c=='1')
flag=1;
}
else
{
printf("Input Error!\n");
return 0;
}
}
if(j==2)
{
if(c!='0')
{
printf("Input Error!\n");
return 0;
}else
{
flag=0;
c=58;
a[i][1]=c;
break;
}
}
a[i][j]=c;
}else
{
if(flag==1)
{
printf("Input Error!\n");
return 0;
}
if(j==2)
break;
j--;
}
}
}
printf("请输入B的扑克牌,扑克牌之间以空格隔开,然后按下回车:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
c=getchar();
if(c!=' '&&c!=10)
{
if(j==0)
{
if(c=='H'||c=='S'||c=='D'||c=='C')
{