有一副牌编号0~51,请把这副牌尽可能随机的发到4个人手里
注1:已经有rand()函数可以调用,但是rand()函数开销较大,请尽量少调用
a,b,c,d分别是13个元素的1维数组
函数原型 void deal( int[] a, int[] b, int[] c, int[] d );
void deal(int a[], int b[], int c[], int d[]) { static unsigned int r=time(NULL); int cnt[4]={0}; int *p[4]={a,b,c,d}; for(int i=0;i<52;i++) { int v=r%4; while(cnt[v]==13) v=(v+1)%4; p[v][cnt[v]++]=i; int t=time(NULL); r=t+r*t; } } void main() { int a[4][13]; deal(a[0],a[1],a[2],a[3]); for(int k=0;k<4;k++) { for(int i=0;i<13;i++) printf("%d ",a[k][i]); printf("\n"); } }