欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實(shí)現(xiàn)發(fā)牌洗牌

 更新時(shí)間:2022年05月02日 11:24:14   作者:碼來的小朋友  
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)發(fā)牌洗牌,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語言實(shí)現(xiàn)發(fā)牌洗牌的具體代碼,供大家參考,具體內(nèi)容如下

1.模擬發(fā)牌程序

通過寫兩個(gè)函數(shù)模塊來編寫洗牌程序和打印的發(fā)牌程序

2.編寫洗牌程序

void shuffle(char cards[][10],int n){
?? ?int i=54;
?? ?char ca,cb,ct[10];
?? ?srand((unsigned)time(NULL));
?? ?
?? ?while(i--){
?? ??? ?ca=rand()%54;
?? ??? ?cb=rand()%54;
?? ??? ?
?? ??? ?strcpy(ct,cards[ca]);
?? ??? ?strcpy(cards[ca],cards[cb]);
?? ??? ?strcpy(cards[cb],ct);?? ??? ?
?? ?}
?? ??? ?
}

3.編寫打印的發(fā)牌程序

void printCard(char cards[][10],int n){
?? ?int i,rn=0;
?? ?printf("第一個(gè)人:\n");
?? ?for(i=0;i<17;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n\n第二個(gè)人:\n");
?? ?rn=0;
?? ?for(i=17;i<33;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n\n第三個(gè)人:\n");
?? ?rn=0;
?? ?for(i=33;i<50;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;?? ?
?? ??? ?printf("%s ? ? ?",cards[i]);?? ?
?? ?}
?? ?printf("\n\n底牌:\n");
?? ?for(i=51;i<54;i++){
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n");
?? ?getchar();
}

4.在主函數(shù)預(yù)定義和調(diào)用

main(){
?? ?system("color 0f");
?? ?char cards[][10]={
?? ?"紅桃 2","紅桃 3","紅桃 4","紅桃 5","紅桃 6","紅桃 7","紅桃 8","紅桃 9","紅桃 10","紅桃 J","紅桃 Q","紅桃 K","紅桃 A",
?? ?"方塊 2","方塊 3","方塊 4","方塊 5","方塊 6","方塊 7","方塊 8","方塊 9","方塊 10","方塊 J","方塊 Q","方塊 K","方塊 A",
?? ?"梅花 2","梅花 3","梅花 4","梅花 5","梅花 6","梅花 7","梅花 8","梅花 9","梅花 10","梅花 J","梅花 Q","梅花 K","梅花 A",?? ??? ?
?? ?"黑桃 2","黑桃 3","黑桃 4","黑桃 5","黑桃 6","黑桃 7","黑桃 8","黑桃 9","黑桃 10","黑桃 J","黑桃 Q","黑桃 K","黑桃 A",
?? ?"大王","小王"?
?? ?};
?? ?int n = 54;
?
?? ?shuffle(cards,n);
?? ?printCard( cards, n);
?? ??? ?
return 0;
}

5.最終程序

#include<stdio.h>
#include<string.h>
#include<stdlib.h>?
#include<time.h>
void shuffle(char cards[][10],int n);
void printCard(char cards[][10],int n);

main(){
?? ?system("color 0f");
?? ?char cards[][10]={
?? ?"紅桃 2","紅桃 3","紅桃 4","紅桃 5","紅桃 6","紅桃 7","紅桃 8","紅桃 9","紅桃 10","紅桃 J","紅桃 Q","紅桃 K","紅桃 A",
?? ?"方塊 2","方塊 3","方塊 4","方塊 5","方塊 6","方塊 7","方塊 8","方塊 9","方塊 10","方塊 J","方塊 Q","方塊 K","方塊 A",
?? ?"梅花 2","梅花 3","梅花 4","梅花 5","梅花 6","梅花 7","梅花 8","梅花 9","梅花 10","梅花 J","梅花 Q","梅花 K","梅花 A",?? ??? ?
?? ?"黑桃 2","黑桃 3","黑桃 4","黑桃 5","黑桃 6","黑桃 7","黑桃 8","黑桃 9","黑桃 10","黑桃 J","黑桃 Q","黑桃 K","黑桃 A",
?? ?"大王","小王"?
?? ?};
?? ?int n = 54;
?
?? ?shuffle(cards,n);
?? ?printCard( cards, n);
?? ??? ?
return 0;
}

void shuffle(char cards[][10],int n){
?? ?int i=54;
?? ?char ca,cb,ct[10];
?? ?srand((unsigned)time(NULL));
?? ?
?? ?while(i--){
?? ??? ?ca=rand()%54;
?? ??? ?cb=rand()%54;
?? ??? ?
?? ??? ?strcpy(ct,cards[ca]);
?? ??? ?strcpy(cards[ca],cards[cb]);
?? ??? ?strcpy(cards[cb],ct);?? ??? ?
?? ?}
?? ??? ?
}

void printCard(char cards[][10],int n){
?? ?int i,rn=0;
?? ?printf("第一個(gè)人:\n");
?? ?for(i=0;i<17;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n\n第二個(gè)人:\n");
?? ?rn=0;
?? ?for(i=17;i<33;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n\n第三個(gè)人:\n");
?? ?rn=0;
?? ?for(i=33;i<50;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;?? ?
?? ??? ?printf("%s ? ? ?",cards[i]);?? ?
?? ?}
?? ?printf("\n\n底牌:\n");
?? ?for(i=51;i<54;i++){
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n");
?? ?getchar();
}

6.1程序結(jié)果

6.2

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • c++編譯使用log4cplus的詳細(xì)步驟

    c++編譯使用log4cplus的詳細(xì)步驟

    C++很強(qiáng)大,但是仍然有很多不盡如人意的地方,比如打印日志方面就沒有java的log4j那種信手拈來,自然而然地東西,今天我們說一說一個(gè)很強(qiáng)大地日志庫log4cplus在c++項(xiàng)目中地使用,感興趣的朋友一起看看吧
    2023-10-10
  • C++將模板實(shí)現(xiàn)放入頭文件原理解析

    C++將模板實(shí)現(xiàn)放入頭文件原理解析

    這篇文章主要為大家介紹了C++將模板實(shí)現(xiàn)放入頭文件原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • C指針原理教程之垃圾回收-內(nèi)存泄露

    C指針原理教程之垃圾回收-內(nèi)存泄露

    C語言沒有運(yùn)行時(shí)庫,無法自動(dòng)壓縮使用中的內(nèi)存,縮小堆棧所需內(nèi)存空間。若只申請(qǐng)內(nèi)存,沒有釋放,勢(shì)必造成系統(tǒng)內(nèi)存不斷減少、丟失。長(zhǎng)時(shí)間的運(yùn)行,最終導(dǎo)致系統(tǒng)死機(jī)。文章闡述了C語言垃圾產(chǎn)生的原因,并從引用計(jì)數(shù)、標(biāo)記一清除算法兩方面提出如何實(shí)現(xiàn)C語言的垃圾回收。
    2019-02-02
  • C語言實(shí)現(xiàn)在數(shù)組A上有序合并數(shù)組B的方法

    C語言實(shí)現(xiàn)在數(shù)組A上有序合并數(shù)組B的方法

    這篇文章主要介紹了C語言實(shí)現(xiàn)在數(shù)組A上有序合并數(shù)組B的方法,包含了數(shù)組操作的完整實(shí)現(xiàn)過程以及相應(yīng)的代碼分析與改進(jìn),具有不錯(cuò)的借鑒價(jià)值,需要的朋友可以參考下
    2014-09-09
  • 深入探討:main函數(shù)執(zhí)行完畢后,是否可能會(huì)再執(zhí)行一段代碼?

    深入探討:main函數(shù)執(zhí)行完畢后,是否可能會(huì)再執(zhí)行一段代碼?

    本篇文章是對(duì)main函數(shù)執(zhí)行完畢后,是否可能會(huì)再執(zhí)行一段代碼,進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言if選擇結(jié)構(gòu)語句詳解

    C語言if選擇結(jié)構(gòu)語句詳解

    大家好,本篇文章主要講的是C語言if選擇結(jié)構(gòu)語句詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • C語言學(xué)好遞歸看這一篇就夠了

    C語言學(xué)好遞歸看這一篇就夠了

    遞歸指的是在函數(shù)的定義中使用函數(shù)自身的方法,舉個(gè)例子: 從前有座山,山里有座廟,廟里有個(gè)老和尚,正在給小和尚講故事呢!故事是什么呢?"從前有座山,山里有座廟,廟里有個(gè)老和尚,正在給小和尚講故事呢!故事是什么呢?"從前有座山,山里有座廟,循環(huán)下去
    2021-10-10
  • C語言多種方法實(shí)現(xiàn)一個(gè)函數(shù)左旋字符串中K個(gè)字符

    C語言多種方法實(shí)現(xiàn)一個(gè)函數(shù)左旋字符串中K個(gè)字符

    這篇文章主要為大家介紹了C語言多種方法實(shí)現(xiàn)一個(gè)函數(shù),可以左旋字符串中K個(gè)字符,文中附含詳細(xì)的示例講解,有需要的朋友可以借鑒參考下
    2021-10-10
  • C語言的基本編寫規(guī)范你了解嗎

    C語言的基本編寫規(guī)范你了解嗎

    這篇文章主要為大家介紹了C語言的基本編寫規(guī)范,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C++編譯錯(cuò)誤variable-sized?object?may?not?be?initiali問題

    C++編譯錯(cuò)誤variable-sized?object?may?not?be?initiali問題

    這篇文章主要介紹了C++編譯錯(cuò)誤variable-sized?object?may?not?be?initiali問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評(píng)論