#include int club[13]; int diamond[13]; int spade[13]; int heart[13]; const char *players[] = { "South player:", "West player:", "North player:", "East player"}; const char cards[] = { '2','3','4','5','6','7','8','9','T','J','Q','K','A' }; const char colors[] = { 'C', 'D', 'S', 'H'}; int get_card_idx(char card) { switch (card) { case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': return (int)(card - '2'); case 'T': return 8; case 'J': return 9; case 'Q': return 10; case 'K': return 11; case 'A': return 12; } return 0; } void insert_card(int player, char color, char card) { int idx; idx = get_card_idx(card); switch(color) { case 'C': club[idx] = player; break; case 'D': diamond[idx] = player; break; case 'S': spade[idx] = player; break; case 'H': heart[idx] = player; break; } } void printit(int player) { int i; int pos; char buffer1[53] = "| | | | | | | | | | | | | |"; char buffer2[53] = "| | | | | | | | | | | | | |"; printf("%s\n", players[player]); printf("+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); pos = 0; while (pos < 13) { for (i = 0; i < 13; i++) { if (club[i] == player) { buffer1[pos*4 + 1] = buffer1[pos*4+3] = cards[i]; buffer2[pos*4 + 2] ='C'; pos++; } } for (i = 0; i < 13; i++) { if (diamond[i] == player) { buffer1[pos*4 + 1] = buffer1[pos*4+3] = cards[i]; buffer2[pos*4 + 2] ='D'; pos++; } } for (i = 0; i < 13; i++) { if (spade[i] == player) { buffer1[pos*4 + 1] = buffer1[pos*4+3] = cards[i]; buffer2[pos*4 + 2] ='S'; pos++; } } for (i = 0; i < 13; i++) { if (heart[i] == player) { buffer1[pos*4 + 1] = buffer1[pos*4+3] = cards[i]; buffer2[pos*4 + 2] ='H'; pos++; } } } printf("%s\n", buffer1); printf("%s\n", buffer2); printf("%s\n", buffer1); printf("+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); } int main() { int i; int player; int c; for (i = 0; i < 13; i++) club[i] = diamond[i] = spade[i] = heart[i] = 0; c = getchar(); switch (c) { case 'S': player = 0; break; case 'W': player = 1; break; case 'N': player = 2; break; case 'E': player = 3; break; } while ((c = getchar()) != '#') { if (c != '\n') { player++; insert_card(player % 4, c, getchar()); } } for (i = 0; i < 4; i++) { printit(i); printf("\n"); } return 0; }