當前位置:編程學習大全網 - 編程語言 - 撲克不能被編程。

撲克不能被編程。

# include & ltstdio.h & gt

struct?撲克

{

夏爾?num

夏爾?顏色;

};

int?comparenum(char?壹、夏爾?b)

{

a=(a=='A '?9 '+5:a);

b=(b=='A '?9’+5:b);

a=(a=='K '?9 '+4:a);

b=(b=='K '?9’+4:b);

a=(a=='Q '?9’+3:a);

b=(b=='Q '?9’+3:b);

a=(a=='J '?9’+2:a);

b=(b=='J '?9’+2:b);

a=(a=='1 '?9 '+1:a);

b=(b=='1 '?9 '+1:b);

回歸?int(a-b);

}

int?comparecolor(char?壹、夏爾?b)

{

開關(a)

{

案子?' C':if(b=='D'||b=='S'||b=='H ')返回?-1;

不然呢?回歸?0;

案子?' D':if(b=='S'||b=='H ')返回?-1;

不然呢?if(b=='C ')返回?1;

不然呢?回歸?0;

案子?S':if(b=='H ')返回?-1;

不然呢?if(b=='C'||b=='D ')返回?1;

不然呢?回歸?0;

案子?' H':if(b=='C'||b=='D'||b=='S ')返回?1;

不然呢?回歸?0;

默認:break

}

回歸?0;

}

作廢?sortpoker(撲克?p[3])

{

撲克?溫度;

int?I,j;

for(I = 0;我& lt3;i++)

{

for(j = I;j & lt3;j++)

{

if(comparenum(p[i].num,p[j]。num)& lt;0)

{

temp = p[I];

p[I]= p[j];

p[j]= temp;

}

}

}

for(I = 0;我& lt3;i++)

{

for(j = I;j & lt3;j++)

{

if(comparenum(p[i].num,p[j]。num)= = 0 & amp;& amp比較顏色。顏色,p[j]。顏色)& lt0)

{

temp = p[I];

p[I]= p[j];

p[j]= temp;

}

}

}

}

int?isline(撲克?p[3])

{

if(comparenum(p[1])。num,p[0]。num)=-1 & amp;& ampcomparenum(p[2].num,p[1]。num)==-1)

回歸?1;

不然呢?

回歸?0;

}

int?isflush(撲克?p[3])

{

if(comparecolor(p[0])。顏色,p[1]。color)= = 0 & amp;& ampcomparecolor(p[1]。顏色,p[2]。color)==0\

& amp& ampisline(p))

回歸?1;

不然呢?

回歸?0;

}

int?isbomb(撲克?p[3])

{

if(comparenum(p[0])。num,p[2]。num)==0)

回歸?1;

不然呢?

回歸?0;

}

int?isdouble(撲克?p[3])

{

if(comparenum(p[0])。num,p[1]。num)==0||comparenum(p[0]。num,p[2]。num)==0\

||comparenum(p[1]。num,p[2]。num)==0)

回歸?1;

不然呢?

回歸?0;

}

int?diffpoker(撲克?p[3])

{

if(p[0]。num==p[1]。數字)

回歸?2;

不然呢?

回歸?0;

}

int?comparepoker(撲克?p1[3],撲克?p2[3])

{

int?index 1;

int?索引2;

if(isflush(p1))

{

if(isflush(p2))

{

if(comparenum(p1[0])。num,p2[0]。num)>0)

回歸?1;

不然呢?if(comparenum(p1[0])。num,p2[0]。num)& lt;0)

回歸?-1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)& lt0)

回歸?-1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)>;0)

回歸?1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)& lt0)

回歸?-1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)& lt0)

回歸?-1;

不然呢?

回歸?0;

}

不然呢?

回歸?1;

}

不然呢?if(isbomb(p1))

{

if(isflush(p2))

回歸?-1;

不然呢?if(isbomb(p2))

{

if(comparenum(p1[0])。num,p2[0]。num)>0)

回歸?1;

不然呢?if(comparenum(p1[0])。num,p2[0]。num)& lt;0)

回歸?-1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)& lt0)

回歸?-1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)>;0)

回歸?1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)& lt0)

回歸?-1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)& lt0)

回歸?-1;

不然呢?

回歸?0;

}

其他

回歸?1;

}

不然呢?if(isline(p1))

{

if(isflush(p2)||isbomb(p2))

回歸?-1;

不然呢?if(isline(p2))

{

if(comparenum(p1[0])。num,p2[0]。num)>0)

回歸?1;

不然呢?if(comparenum(p1[0])。num,p2[0]。num)& lt;0)

回歸?-1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)& lt0)

回歸?-1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)>;0)

回歸?1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)& lt0)

回歸?-1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)& lt0)

回歸?-1;

其他

回歸?0;

}

其他

回歸?1;

}

不然呢?if(isdouble(p1))

{

if(is flush(p2)| | is bomb(p2)| | is line(p2))

回歸?-1;

不然呢?if(isdouble(p2))

{

if(compare num(p 1[1])。num,p2[1]。num)>0)

回歸?1;

不然呢?if(compare num(p 1[1])。num,p2[1]。num)& lt;0)

回歸?-1;

不然呢?if(compare num(p 1[index 1 = diff poker(p 1)]。num,p2[index2=diffpoker(p2)]。num)>0)

回歸?1;

不然呢?if(compare num(p 1[index 1])。num,p2[index2]。num)& lt;0)

回歸?-1;

不然呢?if(index1==0)

{

if(compare color(p 1[1])。顏色,p2[1]。顏色)>;0)

回歸?1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)& lt0)

回歸?-1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)& lt0)

回歸?-1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)& lt0)

回歸?-1;

不然呢?

回歸?0;

}

其他

{

if(comparecolor(p1[0])。顏色,p2[0]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)& lt0)

回歸?-1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)>;0)

回歸?1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)& lt0)

回歸?-1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)& lt0)

回歸?-1;

不然呢?

回歸?0;

}

}

其他

回歸?1;

}

不然呢?if(is flush(p2)| | is bomb(p2)| | is line(p2)| | is double(p2))

回歸?-1;

不然呢?if(comparenum(p1[0])。num,p2[0]。num)>0)

回歸?1;

不然呢?if(comparenum(p1[0])。num,p2[0]。num)& lt;0)

回歸?-1;

不然呢?if(compare num(p 1[1])。num,p2[1]。num)>0)

回歸?1;

不然呢?if(compare num(p 1[1])。num,p2[1]。num)& lt;0)

回歸?-1;

不然呢?if(comparenum(p1[2])。num,p2[2]。num)>0)

回歸?1;

不然呢?if(comparenum(p1[2])。num,p2[2]。num)& lt;0)

回歸?-1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[0])。顏色,p2[0]。顏色)& lt0)

回歸?-1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)>;0)

回歸?1;

不然呢?if(compare color(p 1[1])。顏色,p2[1]。顏色)& lt0)

回歸?-1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)>;0)

回歸?1;

不然呢?if(comparecolor(p1[2])。顏色,p2[2]。顏色)& lt0)

回歸?-1;

回歸?0;

}

int?testdata(撲克?p[3])

{

int?I,j;

for(I = 0;我& lt3;i++)

{

如果(!(p[i]。num=='A'||p[i]。num=='J'||p[i]。num=='Q'||p[i]。num=='K'||\

p[i]。num & gt= ' 2 ' & amp& ampp[i]。num & lt='9'))

回歸?-1;

如果(!(p[i]。color=='S'||p[i]。color=='H'||p[i]。color=='D'||p[i]。color=='C '))

回歸?-1;

for(j = I+1;j & lt3;j++)

{

如果(p[i]。color==p[j]。顏色和顏色。& ampp[i]。num==p[j]。數字)

回歸?-1;

}

}

回歸?1;

}

int?主()

{

撲克?apoker[3];

撲克?BPO ker[3];

int?我,旗幟;

夏爾?str[5];

printf("1。?");

for(I = 0;我& lt3;i++)

{

scanf("%s ",str);

Apoker[i]。color = str[0];

Apoker[i]。num = str[1];

}

printf("2。?");

for(I = 0;我& lt3;i++)

{

scanf("%s ",str);

Bpoker[i]。color = str[0];

Bpoker[i]。num = str[1];

}

sortpoker(阿波克爾);

sort poker(BPO ker);

if(testdata(a poker)= =-1 | | testdata(b poker)= =-1)

{

printf("輸入?錯誤!\ n ");

回歸?1;

}

flag=comparepoker(Apoker,b poker);

if(flag==1)

printf("1。?贏家?是嗎?答!\ n ");

不然呢?if(flag==-1)

printf("1。?贏家?是嗎?b!\ n ");

不然呢?

printf("1。?畫吧!\ n ");

printf("2。?答:?”);

for(I = 0;我& lt3;i++)

{

printf("%c ",Apoker[i]。顏色);

if(Apoker[i]。num=='1 ')

printf("10?");

其他

printf("%-3c ",Apoker[i]。num);

}

printf(" \ n ");

printf("3。?乙:?”);

for(I = 0;我& lt3;i++)

{

printf("%c ",Bpoker[i]。顏色);

if(Bpoker[i].num=='1 ')

printf(" 10 ");

其他

printf("%-3c ",Bpoker[i]。num);

}

printf(" \ n ");

回歸?0;

}

  • 上一篇:眉山壹小區住戶家吊頂裏拽出3條蛇,這些蛇會不會傷害人?
  • 下一篇:臨沂科技職業學院學費
  • copyright 2024編程學習大全網