扑克牌比大小c语言,算了算学了有一个月c语言了,写了个扑克牌程序
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
/*將5張撲克牌轉化為9種牌型?*/
int?change(int?card[])
{
if(checkTongHuaShun(card))//同花順牌型8
{
return?8;
}
else?if(checkSiTiao(card))//四條牌型7
{
return?7;
}
else?if(checkSanTiaoYiDui(card))//三條一對牌型6
{
return?6;
}
else?if(checkTongHua(card))//同花牌型5
{
return?5;
}
else?if(checkShunzi(card))//順子牌型4
{
return?4;
}
else?if(checkSanTiao(card))//三條牌型3
{
return?3;
}
else?if(checkLiangDui(card))//兩對牌型2
{
return?2;
}
else?if(checkDuiZi(card))//對子牌型1
{
return?1;
}
else//散牌牌型0
{
return?0;
}
}
/*?比較兩數大小>返回1,
int?cmp(int?a,int?b)
{
if(a>b)
{
return?1;
}
else?if(a
{
return?-1;
}
else
{
return?0;
}
}
/*比較兩幅同花順,同花,順子,散牌的大小*/
int?cmpShunOrSanPai(int?card1[],int?card2[])
{
if(card1[M-1]/4!=card2[M-1]/4)//第5張牌不相等
{
return?cmp(card1[M-1]/4,card2[M-1]/4);//返回第5張牌的大小比較
}
else
{
return?cmp(card1[M-1]%4,card2[M-1]%4);//返回第5張牌的花色比較
}
}
/*返回四條對應的撲克數字的編號*/
int?maxSiTiao(int?card[])
{
int?i;
for(i=0;i
{
if(card[i]/4==card[i+1]/4)//返回兩張連續相等的牌對應的數字的編號
{
return?card[i+1];
}
}
return?0;
}
/*?比較兩幅四條的大小*/
int?cmpSiTiao(int?card1[],int?card2[])
{
return?cmp(maxSiTiao(card1)/4,maxSiTiao(card2)/4);
}
/*?返回三條對應的撲克的數字編號*/
int?maxSanTiao(int?card[])
{
int?i;
for(i=0;i
{
if(card[i]/4==card[i+1]/4&&card[i]/4==card[i+2]/4)//返回3張連續相等牌最大數字的編號
{
return?card[i+2];
}
}
return?0;
}
/*?比較兩幅三條的大小?*/
int?cmpSanTiao(int?card1[],int?card2[])
{
return?cmp(maxSanTiao(card1)/4,maxSanTiao(card2)/4);
}
/*?返回兩對中較大的一對的撲克牌對應的數字*/
int?maxLiangDui(int?card[])
{
int?a,i;
for(i=0;i
{
if(card[i]/4==card[i+1]/4)//最后的相等的數字為最大的數字
{
a=card[i+1];
}
}
return?a;
}
/*?返回兩對中較小的一對對應的牌的大小??*/
int?minLiangDui(int?card[])
{
return?maxSiTiao(card);//最前面的第2個數字
}
/*比較兩幅兩對的大小*/
int?cmpLiangDui(int?card1[],int?card2[])
{
if(maxLiangDui(card1)/4!=maxLiangDui(card2)/4)//最大對牌的大小不相等
{
return?cmp(maxLiangDui(card1)/4,maxLiangDui(card2)/4);
}
else?if(minLiangDui(card1)/4!=minLiangDui(card2)/4)//最小對牌的大小不相等
{
return?cmp(minLiangDui(card1)/4,minLiangDui(card2)/4);
}
else//都相等返回最大對對應的最大花色
{
return?cmp(maxLiangDui(card1)%4,maxLiangDui(card2)%4);
}
}
/*?比較兩副對子的大小*/
int?cmpDuiZi(int?card1[],int?card2[])
{
if(maxLiangDui(card1)/4!=maxLiangDui(card2)/4)//直接調用兩對中最大對的返回函數即可
總結
以上是生活随笔為你收集整理的扑克牌比大小c语言,算了算学了有一个月c语言了,写了个扑克牌程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哈维玛德学院 计算机,哈维玛德学院优势多
- 下一篇: iphone日历显示周视图_用敬业签记录