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++ 创建型设计模式工厂方法Factory Method示例详解

    c++ 创建型设计模式工厂方法Factory Method示例详解

    这篇文章主要为大家介绍了c++ 创建型设计模式工厂方法Factory Method示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 利用c语言实现卷积码编码器示例

    利用c语言实现卷积码编码器示例

    这篇文章主要介绍了利用c语言实现卷积码编码器示例,需要的朋友可以参考下
    2014-03-03
  • C++使用read()和write()读写二进制文件

    C++使用read()和write()读写二进制文件

    以文本形式读写文件和以二进制形式读写文件的区别,并掌握了用重载的 >> 和 << 运算符实现以文本形式读写文件,在此基础上,本节将讲解如何以二进制形式读写文件
    2023-10-10
  • C语言超详细讲解字符串相乘

    C语言超详细讲解字符串相乘

    这篇文章主要介绍了用C语言如何来实现字符串相乘的方法,这里我们会利用到memset函数,memset函数是对较大的结构体或数组进行清零操作的一种最快方法,可以说是初始化内存的“万能函数”,下面我们详细了解一下
    2022-03-03
  • c++加法高精度算法的简单实现

    c++加法高精度算法的简单实现

    下面小编就为大家带来一篇c++加法高精度算法的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • C++ string和wstring相互转换方式

    C++ string和wstring相互转换方式

    这篇文章主要介绍了C++ string和wstring相互转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 学习 C++能带给我们什么

    学习 C++能带给我们什么

    这篇文章主要介绍了学习 C++能带给我们什么的相关总结,主要来自于前辈们,这里汇总给大家,需要的朋友可以参考下
    2016-03-03
  • C++类的定义和对象的创建详解

    C++类的定义和对象的创建详解

    本篇文章重点讲解了两种创建对象的方式:一种是在栈上创建,形式和定义普通变量类似;另外一种是在堆上使用 new 关键字创建,必须要用一个指针指向它,下面和小编一起来学习下面为文章的内容
    2021-09-09
  • C语言数据类型枚举enum全面详解示例教程

    C语言数据类型枚举enum全面详解示例教程

    生活中有很多地方会用到枚举,比如一周有7天,可以一一枚举;性别有男、女...等等都可以可以一一枚举,今天来和笔者一起学习一下c语言枚举吧
    2021-10-10
  • c++支持coroutine的简单示例

    c++支持coroutine的简单示例

    这篇文章主要介绍了c++支持coroutine的简单示例,使用的是linux 平台做的,需要的朋友可以参考下
    2014-03-03

最新评论