扑克牌3张两人比大小C语言代码.docx
《扑克牌3张两人比大小C语言代码.docx》由会员分享,可在线阅读,更多相关《扑克牌3张两人比大小C语言代码.docx(21页珍藏版)》请在冰豆网上搜索。
扑克牌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.DAH2C3↵
2.H4H3DJ↵
Viewplain
1.WinnerisB!
↵
2.A:
H2DAC3↵
3.B:
H4H3DJ↵
Unlimited
256M
0
TestCase3
Viewplain
1.HACACB↵
2.HQCJCQ↵
Viewplain
1.InputError!
↵
Unlimited
256M
0
TestCase4
Viewplain
1.HACACJ↵
2.DADKDK↵
Viewplain
1.InputError!
↵
Unlimited
256M
0
TestCase5
Viewplain
1.SASJSK↵
2.SASJSK↵
Viewplain
1.WinnerisX!
↵
2.A:
SASKSJ↵
3.B:
SASKSJ↵
Unlimited
代码
#include
intasc(charp[][3]);
intisError(charp1[][3]);
voidcompare(charp3[][3],charp4[][3]);
intmain()
{
chara[3][3],b[3][3],c;
inti,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("InputError!
\n");
return0;
}
}
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("InputError!
\n");
return0;
}
}
if(j==2)
{
if(c!
='0')
{
printf("InputError!
\n");
return0;
}else
{
flag=0;
c=58;
a[i][1]=c;
break;
}
}
a[i][j]=c;
}else
{
if(flag==1)
{
printf("InputError!
\n");
return0;
}
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')
{
if(c=='H')
c='Z';
}
else
{
printf("InputError!
\n");
return0;
}
}
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("InputError!
\n");
return0;
}
}
if(j==2)
{
if(c!
='0')
{
printf("InputError!
\n");
return0;
}else
{
flag=0;
c=58;
b[i][1]=c;
break;
}
}
b[i][j]=c;
}else
{
if(flag==1)
{
printf("InputError!
\n");
return0;
}
if(j==2)
break;
j--;
}
}
}
resulta=asc(a);
if(resulta==0)
return0;
resultb=asc(b);
if(resultb==0)
return0;
result=isError(a);
if(result==0)
return0;
result=isError(b);
if(result==0)
return0;
compare(a,b);
for(i=0;i<3;i++)
{
a[i][2]='\0';
b[i][2]='\0';
}
printf("A:
");
for(i=0;i<2;i++)
{
if(a[i][1]>='2'&&a[i][1]<='9'&&a[i][0]!
='Z')
printf("%s",a[i]);
else
{
if(a[i][0]=='Z')
{
if(a[i][1]==58)
{
printf("H");
printf("10");
}
if(a[i][1]==59)
{
printf("H");
printf("J");
}
if(a[i][1]==60)
{
printf("H");
printf("Q");
}
if(a[i][1]==61)
{
printf("H");
printf("K");
}
if(a[i][1]==62)
{
printf("H");
printf("A");
}
if(a[i][1]>='2'&&a[i][1]<='9')
{
printf("H");
printf("%c",a[i][1]);
}
}else
{
if(a[i][1]==58)
{
printf("%c",a[i][0]);
printf("10");
}
if(a[i][1]==59)
{
printf("%c",a[i][0]);
printf("J");
}
if(a[i][1]==60)
{
printf("%c",a[i][0]);
printf("Q");
}
if(a[i][1]==61)
{
printf("%c",a[i][0]);
printf("K");
}
if(a[i][1]==62)
{
printf("%c",a[i][0]);
printf("A");
}
}
}
}
for(i=2;i<3;i++)
{
if(a[i][1]>='2'&&a[i][1]<='9'&&a[i][0]!
='Z')
printf("%s",a[i]);
else
{
if(a[i][0]=='Z')
{
if(a[i][1]==58)
{
printf("H");
printf("10");
}
if(a[i][1]==59)
{
printf("H");
printf("J");
}
if(a[i][1]==60)
{
printf("H");
printf("Q");
}
if(a[i][1]==61)
{
printf("H");
printf("K");
}
if(a[i][1]==62)
{
printf("H");
printf("A");
}
if(a[i][1]>='2'&&a[i][1]<='9')
{
printf("H");
printf("%c",a[i][1]);
}
}else
{
if(a[i][1]==58)
{
printf("%c",a[i][0]);
printf("10");
}
if(a[i][1]==59)
{
printf("%c",a[i][0]);
printf("J");
}
if(a[i][1]==60)
{
printf("%c",a[i][0]);
printf("Q");
}
if(a[i][1]==61)
{
printf("%c",a[i][0]);
printf("K");
}
if(a[i][1]==62)
{
printf("%c",a[i][0]);
printf("A");
}
}
}
}
printf("\nB:
");
for(i=0;i<2;i++)
{
if(b[i][1]>='2'&&b[i][1]<='9'&&b[i][0]!
='Z')
printf("%s",b[i]);
else
{
if(b[i][0]=='Z')
{
if(b[i][1]==58)
{
printf("H");
printf("10");
}
if(b[i][1]==59)
{
printf("H");
printf("J");
}
if(b[i][1]==60)
{
printf("H");
printf("Q");
}
if(b[i][1]==61)
{
printf("H");
printf("K");
}
if(b[i][1]==62)
{
printf("H");
printf("A");
}
if(b[i][1]>='2'&&b[i][1]<='9')
{
printf("H");
printf("%c",b[i][1]);
}
}else
{
if(b[i][1]==58)
{
printf("%c",b[i][0]);
printf("10");
}
if(b[i][1]==59)
{
printf("%c",b[i][0]);
printf("J");
}
if(b[i][1]==60)
{
printf("%c",b[i][0]);
printf("Q");
}
if(b[i][1]==61)
{
printf("%c",b[i][0]);
printf("K");
}
if(b[i][1]==62)
{
printf("%c",b[i][0]);
printf("A");
}
}
}
}
for(i=2;i<3;i++)
{
if(b[i][1]>='2'&&b[i][1]<='9'&&b[i][0]!
='Z')
printf("%s",b[i]);
else
{
if(b[i][0]=='Z')
{
if(b[i][1]==58)
{
printf("H");
printf("10");
}
if(b[i][1]==59)
{
printf("H");
printf("J");
}
if(b[i][1]==60)
{
printf("H");
printf("Q");
}
if(b[i][1]==61)
{
printf("H");
printf("K");
}
if(b[i][1]==62)
{
printf("H");
printf("A");
}
if(b[i][1]>='2'&&b[i][1]<='9')
{
printf("H");
printf("%c",b[i][1]);
}
}else
{
if(b[i][1]==58)
{
printf("%c",b[i][0]);
printf("10");
}
if(b[i][1]==59)
{
printf("%c",b[i][0]);
printf("J");
}
if(b[i][1]==60)
{
printf("%c",b[i][0]);
printf("Q");
}
if(b[i][1]==61)
{
printf("%c",b[i][0]);
printf("K");
}
if(b[i][1]==62)
{
printf("%c",b[i][0]);
printf("A");
}
}
}
}
printf("\n");
return0;
}
intasc(charp[][3])
{
intm,temp[2];
if(p[0][1]==p[1][1])
{
if(p[0][0]==p[1][0])
{
printf("InputError!
\n");
return0;
}
}
if(p[1][1]==p[2][1])
{
if(p[1][0]==p[2][0])
{
printf("InputError!
\n");
return0;
}
}
if(p[0][1]==p[2][1])
{
if(p[0][0]==p[2][0])
{
printf("InputError!
\n");
return0;
}
}
m=0;
if(p[m][0]
{
temp[0]=p[m][0];
temp[1]=p[m][1];
p[m][0]=p[m+1][0];
p[m][1]=p[m+1][1];
p[m+1][0]=temp[0];
p[m+1][1]=temp[1];
}
if(p[m][0]
{
temp[0]=p[m][0];
temp[1]=p[m][1];
p[m][0]=p[m+2][0];
p[m][1]=p[m+2][1];
p[m+2][0]=temp[0];
p[m+2][1]=temp[1];
}
m=1;
if(p[m][0]
{
temp[0]=p[m][0];
temp[1]=p[m][1];
p[m][0]=p[m+1][0];
p[m][1]=p[m+1][1];
p[m+1][0]=temp[0];
p[m+1][1]=temp[1];
}
if(p[0][0]==p[1][0])
{
if(p[0][1]
{
temp[0]=p[0][0];
temp[1]=p[0][1];
p[0][0]=p[1][0];
p[0][1]=p[1][1];
p[1][0]=temp[0];
p[1][1]=temp[1];
}
}
if(p[0][0]==p[2][0])
{
if(p[0][1]
{
temp[0]=p[0][0];
temp[1]=p[0][1];
p[0][0]=p[2][0];
p[0][1]=p[2][1];
p[2][0]=temp[0];
p[2][1]=temp[1];
}
}
if(p[1][0]==p[2][0])
{
if(p[1][1]
{
temp[0]=p[1][0];
temp[1]=p[1][1];
p[1][0]=p[2][0];
p[1][1]=p[2][1];
p[2][0]=temp[0];
p[2][1]=temp[1];
}
}
return1;
}
intisError(charp1[][3])
{
if(p1[0][0]==p1[1][0])
if(p1[0][1]==p1[1][1])
{
printf("InputError!
\n");
return0;
}
if(p1[1][0]==p1[2][0])
if(p1[1][1]==p1[2][1])
{
printf("InputError!
\n");
return0;
}
return1;
}
voidcompare(charp3[][3],charp4[][3])
{
intx;
for(x=0;x<3;x++)
{
if(p3[x][1]==p4[x][1]&&p3[x][0]==p4[x][0])
continue;
if(p3[x][0]>p4[x][0]||(p3[x][0]==p4[x][0]&&p3[x][1]>p4[x][1])){
printf("WinnerisA!
\n");
return;
}
if(p3[x][0]printf("WinnerisB!
\n");
return;
}
}
printf("WinnerisX!
\n");
}