亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

通過寫兩個函數(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("第一個人:\n");
?? ?for(i=0;i<17;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n\n第二個人:\n");
?? ?rn=0;
?? ?for(i=17;i<33;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n\n第三個人:\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ù)預定義和調用

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("第一個人:\n");
?? ?for(i=0;i<17;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n\n第二個人:\n");
?? ?rn=0;
?? ?for(i=17;i<33;i++){
?? ??? ?if(rn%5==0)
?? ??? ??? ?printf("\n");
?? ??? ?rn++;
?? ??? ?printf("%s ? ? ?",cards[i]);?? ??? ?
?? ?}
?? ?printf("\n\n第三個人:\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程序結果

6.2

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • c++編譯使用log4cplus的詳細步驟

    c++編譯使用log4cplus的詳細步驟

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

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

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

    C指針原理教程之垃圾回收-內存泄露

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

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

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

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

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

    C語言if選擇結構語句詳解

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

    C語言學好遞歸看這一篇就夠了

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

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

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

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

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

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

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

最新評論