永发信息网

自动发牌:一副扑克有52张牌,打桥牌的时候将牌分给四个人。请设计个程序完成自动发牌工作

答案:2  悬赏:40  手机版
解决时间 2021-03-23 22:16
  • 提问者网友:龅牙恐龙妹
  • 2021-03-23 08:40
自动发牌:一副扑克有52张牌,打桥牌的时候将牌分给四个人。请设计个程序完成自动发牌工作
最佳答案
  • 五星知识达人网友:山君与见山
  • 2021-03-23 10:19
vc写的!
void CQiaopaiDlg::OnFa()
{
// TODO: Add your control notification handler code here
this->m_strj="";
this->m_strn="";
this->m_strx="";
this->m_strs="";
UpdateData(false);

srand( (unsigned)time( NULL ) );//以时间为随机种子

char b[3];
int i,y=0,m,j=0,n=0,x=0,s=0;
char se[4];
for(i=1;i<53;i++){
ji:
m=rand()%4;
y=i%4;
if(y==0)
strcpy(se,"红");
else if(y==1)
strcpy(se,"黑");
else if(y==2)
strcpy(se,"方");
else
strcpy(se,"梅");

if(m==0)
{
if(j>=13)
goto ji;
m=i%13+1;
j=j+1;
itoa(m,b,10);
m_strj=m_strj + " " + se+b;
}
else if(m==1)
{
if(n>=13)
goto ji;
n=n+1;
m=i%13+1;
itoa(m,b,10);
m_strn=m_strn + " " + se+b;
}
else if(m==2)
{
if(x>=13)
goto ji;
x=x+1;
m=i%13+1;
itoa(m,b,10);
m_strx=m_strx + " " + se+b;
}
else
{
if(s>=13)
goto ji;
s=s+1;
m=i%13+1;
itoa(m,b,10);
m_strs=m_strs + " " + se+b;
}

}
UpdateData(false);
}
全部回答
  • 1楼网友:孤独的牧羊人
  • 2021-03-23 10:25
int str[52]={牌的顺序}
int c=1
for a=1 to 52
for b=1 to 4
case b=1
move str[c] to man1
case b=2
move str[c] to man2
case b=3
move str[c] to man3
case b=4
move str[c] to man4
endfor
c=c++
endfor
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯