c语言用随机数求面积,c语言编程题!!急求!! 关于扑克牌(要完整代码最好有解释)...

#include

int asc(char p[][3]);

int isError(char p1[][3],char p2[][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')

;

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')

;

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;

b[i][1]=c;

break;

}

}

b[i][j]=c;

}else

{

if(flag==1)

{

printf("Input Error!\n");

return 0;

}

if(j==2)

break;

j--;

}

}

}

resulta=asc(a);

if(resulta==0)

return 0;

resultb=asc(b);

if(resultb==0)

return 0;

result=isError(a,b);

if(result==0)

return 0;

compare(a,b);

for(i=0;i<3;i++)

{

a[i][2]='\0';

b[i][2]='\0';

}

printf("A: ");

for(i=0;i<3;i++)

{

if(a[i][1]>'2'&&a[i][1]

printf("%s ",a[i]);

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<3;i++)

{

if(b[i][1]>'2'&&b[i][1]

printf("%s ",b[i]);

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");

return 0;

}

int asc(char p[][3])

{

int m,temp[2];

if(p[0][1]==p[1][1])

{

if(p[0][0]==p[1][0])

{

printf("Input Error!\n");

return 0;

}

}

if(p[1][1]==p[2][1])

{

if(p[1][0]==p[2][0])

{

printf("Input Error!\n");

return 0;

}

}

if(p[0][1]==p[2][1])

{

if(p[0][0]==p[2][0])

{

printf("Input Error!\n");

return 0;

}

}

m=0;

if(p[m][1]

{

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][1]

{

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][1]

{

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];

}

return 1;

}

int isError(char p1[][3],char p2[][3])

{

int n;

for(n=0;n<3;n++)

{

if(p1[n][0]==p2[0][0]&&p1[n][1]==p2[0][1])

{

printf("Input Error!\n");

return 0;

}

if(p1[n][0]==p2[n][0]&&p1[1][1]==p2[1][1])

{

printf("Input Error!\n");

return 0;

}

if(p1[n][0]==p2[n][0]&&p1[2][1]==p2[2][1])

{

printf("Input Error!\n");

return 0;

}

}

return 1;

}

void compare(char p3[][3],char p4[][3])

{

int x;

for(x=0;x<3;x++)

{

if(p3[x][1]==p4[x][1])

continue;

if(p3[x][1]>p4[x][1]){

printf("Winner is A!\n");

return;

}

if(p3[x][1]

printf("Winner is B!\n");

return;

}

}

printf("Winner is X!\n");

}

39ff728c470aff97d3f7fd5c5336b2ef.png

这次对了。

更多追问追答

追问

快点改么么哒

追问

嗯嗯 调试成功了就采纳啦

追问

报错了 第一个测试用例反了 第二个和第五个都不对……

追答

if(b[i][1]='2'&&b[i][1]='9')改成if(b[i][1]>='2'&&b[i][1]<='9')

本回答被提问者和网友采纳

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值