#include <stdio.h> #include <stdlib.h> #include <time.h> struct card{ char *suit; char *face; }; typedef struct card Card; void fillDeck(Card *,char *[],char *[]); void shuffle(Card *); void deal(Card *); int main() { Card deck[52]; char *face[]={"1","2","3","4","5","6","7","8","9","10","11","12","13"}; char *suit[]={"A","B","C","D"}; srand(time(NULL)); fillDeck(deck,face,suit); shuffle(deck); deal(deck); return 0; } void fillDeck(Card *wDeck,char *wFace[],char *wSuit[]) { int i; for(i=0;i<52;i++) { wDeck[i].face=wFace[i%13]; wDeck[i].suit=wSuit[i/13]; } } void shuffle(Card *wDeck) { int i,j; Card temp; for(i=0;i<52;i++) { j=rand()%52; temp=wDeck[i]; wDeck[i]=wDeck[j]; wDeck[j]=temp; } } void deal(Card *wDeck) { int i; for(i=0;i<52;i++) printf("%5s of %-8s %c",wDeck[i].face,wDeck[i].suit,(i+1)%2?'\t':'\n'); }