C语言如何实现随机抽取纸牌程序
导读:本文共1151.5字符,通常情况下阅读需要4分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 程序设计要求本程序负责发一副标准纸牌,每张标准纸牌都有一种花色(梅花、方块、黑桃、红桃)和一个等级(2,3,4,5,6…K,A)。程序需要用户指明手机有几张牌。程序设计流程1 . 使用库函数和时间函数,用time函数返回当前时间,用一个数表示,srand函数初始化C语言的随机数生成器。通过把time函数返回值传递给srand可以避免程序每次... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。程序设计要求
本程序负责发一副标准纸牌,每张标准纸牌都有一种花色(梅花、方块、黑桃、红桃)和一个等级(2,3,4,5,6…K,A)。程序需要用户指明手机有几张牌。
程序设计流程
1 . 使用库函数和时间函数,用time函数返回当前时间,用一个数表示,srand函数初始化C语言的随机数生成器。通过把time函数返回值传递给srand可以避免程序每次运行发同样的牌。rand函数产生随机数,通过%缩放。
2 . 使用二位数组来进行数据记录。4行表示每种花色,13列表示每种等级。
3 . 程序开始时,数组元素都为false,每随机抽取一张纸牌时,检查in_hand对应元素真假,如果为真,则抽取其他纸牌,如果为假,记录到数组元素当中,提醒我们这张牌已经记录过了。
效果展示
完整代码
#include<stdio.h>#include<ctype.h>#include<stdbool.h>#include<time.h>#include<stdlib.h>#definenum_rates((int)(sizeof(value)/sizeof(value[0])))#defineinitial_balance100.00#definenum_suits4#definenum_ranks13intmain(){boolin_hand[num_suits][num_ranks]={false};intnum_cards,rank,suit;constcharrank_code[]={'2','3','4','5','6','7','8','9','t','j','q','k','a'};constcharsuit_code[]={'c','d','h','s'};printf("enternumber\n");scanf("%d",&num_cards);printf("yourhands\n");while(num_cards>0){suit=rand()%num_suits;rank=rand()%num_ranks;if(!in_hand[suit][rank]){in_hand[suit][rank]=true;num_cards--;printf("%c%c",rank_code[rank],suit_code[suit]);}}printf("\n");return0;}
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
C语言如何实现随机抽取纸牌程序的详细内容,希望对您有所帮助,信息来源于网络。