满意答案
头文件:
#include
#include
#include
初始化 洗牌 发牌 程序没有声明
int b,c,i,q=0,a[52];
int chu();
int xipai();
int fapai(int);
int型函数没有返回值。添加return(0)。
发牌次序不合实际。
做了一点改动。fapai的参数减少了一个,只剩下p作为总牌数。
q定义为全局变量,作为计数当前发牌人序号。
发牌程序更改,i每次增加4,实现跳序发牌。末尾增加q++。
fapai(int p)
{
for(i=q;i
{
b=(a[i]-1)/13;
c=a[i]-b*13;
switch(b)
{
case 0 :printf("%c%d ",3,c);break;
case 1 :printf("%c%d ",4,c);break;
case 2 :printf("%c%d ",5,c);break;
case 3 :printf("%c%d ",6,c);break;
default:printf("error\
");
return(0);
}
}
q++;
}//发牌程序
主函数调用fapai函数时,p值赋52即扑克总数。
void main()
{
chu();
//调用赋初值程序
xipai();
//调用洗牌程序
printf("第一位的牌是:\
");
fapai(52);
//调用发牌程序,给第一位发牌
printf("\
第二位的牌是:\
");
fapai(52);
//调用发牌程序,给第二位发牌
printf("\
第三位的牌是:\
");
fapai(52);
//调用发牌程序,给第三位发牌
printf("\
第四位的牌是:\
");
fapai(52);
//调用发牌程序,给第四位发牌
printf("\
");
}
个人意见,欢迎交流。
00分享举报