C语言练习题
撲克牌遊戲
問題簡述:
撲克牌共有四組1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 的牌,每張牌的大小順序也如上。撲克App在發牌時,需把玩家手上的牌順便進行排序,以利遊戲進行。例如若依序所發的牌為 8 2 4 C 1 3,發完第一張牌,玩家手上有[8]。發完第二張牌,玩家手上有[2, 8]。發完第三張牌,玩家手上有[2, 4, 8]。發完第四張牌,玩家手上有[2, 4, 8, C]。發完第五張牌,玩家手上有[1, 2, 4, 8, C]。發完第六張牌,玩家手上有[1, 2, 3, 4, 8, C]。
需要完成及繳交的函式:
void pokerSort (int n, char hand[])函式
- n :所發出牌數。
- hand[] :所發出的n張牌,hand[0] 為發出的第一張牌,
- hand[n-1] 為發出第n張牌。每張牌一定是1,2,3,…,9,A,B,C,D,E 或F。
- 程序:函式執行過程中,當每一張牌排序完畢,你的程式必需呼叫print_hand( n, hand)來輸出目前手上的牌。函式結束時,hand[]應該已依序排好所有發出的牌。
> void pokerSort (int n, char hand[]){
> //請完成並繳交本程式 }
程式樣板:
> #include <stdio.h>
>
> void pokerSort( int n, char hand[] );
>
> void print_hand( int n, char hand[] ) { int a;
>
> for( a = 0; a <= n; a++ )
> printf( "%c ", hand[a] );
>
> printf( "\n" );
>
> return; }
>
> int main( int argc, char *argv[] ) { int n; int i; char
> hand[128];
>
> scanf("%d", &n);
>
> for( i = 0; i < n; i++ )
> scanf( " %c", &hand[i] );
>
> pokerSort( n, hand );
>
> return 0; }
>
> void pokerSort( int n, char hand[] ) { // 你的程式碼 }
具体题目及解答请下载下方链接:
C语言练习题-扑克牌游戏.pdf
https://download.csdn.net/download/weixin_40441194/12631655
C语言练习题-扑克牌游戏.cpp
https://download.csdn.net/download/weixin_40441194/12631669