C 撲克牌排序(結構體排序)

2021-10-04 19:51:30 字數 2436 閱讀 6862

1. 對結構體/類進行排序

2. 設定flag將不方便比較的字元轉化為相應數值

題目描述

自定義結構體表示一張撲克牌,包含型別——黑桃、紅桃、梅花、方塊、王;大小——2,3,4,5,6,7,8,9,10,j,q,k,a,小王(用0表示)、大王(用1表示)。輸入n,輸入n張撲克牌資訊,從大到小輸出它們的排序結果。

示例輸入

3 5 黑桃4 紅桃10 梅花q 方塊k 黑桃a 10 大王 梅花10 紅桃k 方塊9 黑桃2 梅花a 方塊q 小王 黑桃8 黑桃j 5

紅桃k 梅花k 黑桃k 方塊k 小王

示例輸出

黑桃a 黑桃4 紅桃10 梅花q 方塊k 大王 小王 黑桃j 黑桃8 黑桃2 紅桃k 梅花a 梅花10 方塊q 方塊9 小王 黑桃k 紅桃k

梅花k 方塊k

答案

#include

#include

#include

using

namespace std;

struct poke

;void

switch

(poke *newpoker)

elseif(

strstr

(newpoker-

>type,

"小王"))

elseif(

strstr

(newpoker-

>type,

"黑桃"))

elseif(

strstr

(newpoker-

>type,

"紅桃"))

elseif(

strstr

(newpoker-

>type,

"梅花"))

elseif(

strstr

(newpoker-

>type,

"方塊"))

///numberif(

strstr

(newpoker-

>type,

"2")

)elseif(

strstr

(newpoker-

>type,

"3")

)elseif(

strstr

(newpoker-

>type,

"4")

)elseif(

strstr

(newpoker-

>type,

"5")

)elseif(

strstr

(newpoker-

>type,

"6")

)elseif(

strstr

(newpoker-

>type,

"7")

)elseif(

strstr

(newpoker-

>type,

"8")

)elseif(

strstr

(newpoker-

>type,

"9")

)elseif(

strstr

(newpoker-

>type,

"10"))

elseif(

strstr

(newpoker-

>type,

"j")

)elseif(

strstr

(newpoker-

>type,

"q")

)elseif(

strstr

(newpoker-

>type,

"k")

)elseif(

strstr

(newpoker-

>type,

"a"))}

bool

comp

(poke p1, poke p2)

else

if(p1.flagif(p1.num>p2.num)

else

if(p1.numreturn

false

;return1;

}int

main()

sort

(group, group+n, comp)

;for

(i=0

; i) cout

group;

}return0;

}

撲克牌排序 趣味撲克牌

一提到撲克牌,我們就想到神秘的魔術表演,撲克牌上有很多形狀和數字,裡面蘊藏了很多數學知識哦!瞧 subway的小朋友們正在進行趣味撲克牌的遊戲呢!好多撲克牌啊!撲克牌中間怎麼是空的呢?哇,還有這麼小的撲克牌呢!一看到teacher手中的撲克牌,小傢伙們乙個個的都興奮起來,迫不及待想要分享自己的見解呢...

撲克牌排序 tkinter模擬撲克牌和狼人殺發牌

今天我們用tkinter的canvas畫布實現撲克牌的隨機發牌 將54張牌隨機發給四位牌手,在螢幕上顯示每位牌手的牌,利用canvas將發牌結果顯示出來。需要準備的是54張撲克牌的 gif或者png,jpg的話要經過額外的轉換 為了保證最終的牌序是按照由小到大排列的,編號要按照aaaa 2222 k...

洗撲克牌 亂數排序

洗撲克牌 亂數排列 說明 洗撲克牌的原理其實與亂數排列是相同的,都是將一組數字 例如1 n 打亂重新排列,只 不過洗撲克牌多了乙個花色判斷的動作而已。解法 初學者通常會直接想到,隨機產生1 n的亂數並將之存入陣列中,後來產生的亂數存入陣列 前必須先檢查陣列中是否已有重複的數字,如果有這個數就不存入,...