C语言实现随机抽取纸牌程序

 更新时间:2022年03月25日 15:06:03   作者:风叶翩翩  
这篇文章主要为大家详细介绍了C语言实现随机抽取纸牌程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C语言实现随机抽取纸牌的具体代码,供大家参考,具体内容如下

程序设计要求

本程序负责发一副标准纸牌,每张标准纸牌都有一种花色(梅花、方块、黑桃、红桃)和一个等级(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>
 
 
# define num_rates ((int) (sizeof(value)/sizeof(value[0])))
# define initial_balance 100.00
  
#define num_suits 4
#define num_ranks 13
  
int main(){
 
bool in_hand[num_suits][num_ranks] = {false};
int num_cards,rank,suit;
 
const char rank_code[] = { '2','3','4','5','6','7','8','9',
    't','j','q','k','a'};
const char suit_code[] = { 'c','d','h','s'};
printf("enter number\n");
scanf("%d",&num_cards);
 
printf("your hands\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");
return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • C语言分治法实现归并排序

    C语言分治法实现归并排序

    这篇文章主要为大家详细介绍了C语言实现归并排序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • C语言快速排序与二分查找算法示例

    C语言快速排序与二分查找算法示例

    这篇文章主要介绍了C语言快速排序与二分查找算法,涉及C语言随机数生成、快速排序及二分查找等算法相关实现技巧,需要的朋友可以参考下
    2018-01-01
  • C语言位图算法详解

    C语言位图算法详解

    这篇文章主要介绍了C语言实现的位图算法,主要包括了位图算法的定义与应用,对于C程序算法设计的学习有一定的借鉴价值,需要的朋友可以参考下
    2014-09-09
  • C语言实现学生信息管理系统(文件操作)

    C语言实现学生信息管理系统(文件操作)

    这篇文章主要介绍了C语言实现学生信息管理系统,增加了文件操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 如何应用C++的函数对象

    如何应用C++的函数对象

    C++函数对象是C语言程序的主要组成部分,一个函数可以调用其他函数。在设计良好的程序中,每个函数都有特定的目的。本文将介绍C++函数对象的应用,有需要的可以参考学习。
    2016-08-08
  • C/C++获取键盘事件的方法

    C/C++获取键盘事件的方法

    今天小编就为大家分享一篇C/C++获取键盘事件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • OpenCV实现最小外接正矩形

    OpenCV实现最小外接正矩形

    这篇文章主要为大家详细介绍了OpenCV实现最小外接正矩形,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • Qt界面美化之自定义qss样式表的详细步骤

    Qt界面美化之自定义qss样式表的详细步骤

    很多人应该和我一样,想做界面才接触的Qt,结果就是做不出来华丽的界面,下面这篇文章主要给大家介绍了关于Qt界面美化之自定义qss样式表的详细步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • C语言实现输入一个字符串后打印出该字符串中字符的所有排列

    C语言实现输入一个字符串后打印出该字符串中字符的所有排列

    这篇文章主要介绍了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,是数学中非常实用的排列算法,需要的朋友可以参考下
    2014-09-09
  • C语言模式实现C++继承和多态的实例代码

    C语言模式实现C++继承和多态的实例代码

    本篇文章主要介绍了C语言模式实现C++继承和多态的实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07

最新评论