c语言洗牌问题

c语言洗牌问题

先给你一个大概的。要午睡了,下午还有课。有问题再密我。

#include

#include

using namespace std;

typedef struct _pai

{

int num; // 数字

char huase; // 花色

}pai;

void main()

{

pai *a;

int i, j, k;

int b;

char huase = { "黑桃","红心","梅花","方块"};

srand(time(0));

for (i = 0; i < 52; i++)

a[i] = (pai *)malloc(sizeof(pai));

// 初始化一套牌

for(i = 0; i < 4; i++)

{

for(j = 0; j < 13; j++)

{

int k = i*13 + j;

a[k]->num = j;

strcpy(a[k]->huase, huase[i]);

}

}

pai *temp;

for(j = 0; j < 52; j++)

{

b = rand()%52;

temp = a[j];

a[j] = a[b];

a[b] = temp;

}

for(i = 0; i < 52; i++)

cout<< a[i]->huase <<" " << a[i]->num << endl;

cout<

}