#C语言实现抽奖小程序

#include<stdio.h>
#include<stdlib.h>
#include <time.h> // 使用当前时钟做种子
#include <windows.h>
/*
做一个抽奖程序,一等奖1%二等奖5%三等奖10%
要求1:基本功能实现,按下任意字母按键打印一次抽奖结果。
要求2:程序开始的时候可以选择模式,键盘A键按下,代表自动模式;M代表手动模式,自动模式抽奖可以一直抽,直到抽到1等奖为止。
要求3:在要求2的前提下,(自动模式)先打印第一次抽到三等奖所需要的次数,然后打印第一次抽到二等奖所需要的次数,最后打印第
一次获得一等奖所需要的次数,程序结束
*///随机数取段落,保证抽到的误差较小
#define CJ_game(a)  if(a>=0&&a<=327) printf("恭喜你!获得一等奖!!\n");\else if(a>=4000&&a<=5638) printf("恭喜你!获得二等奖!!\n");\else if(a>=400&&a<=3676) printf("恭喜你!获得三等奖!!\n");\else printf("再接再厉\n") void CJ_mode_auto()  //自动模式
{int First_f = 0,Second_f = 0,Third_f = 0;  //定义第一次抽取到奖品的标志位 int Sjs = 0,Game_state = 1; int F_count = 0,S_count = 0,T_count = 0,count = 0;//定义抽到奖品的计数位 printf("\n"); printf("\n"); printf("==========模式A:自动抽奖 游戏开始==========\n"); while(Game_state){Sleep(200);Sjs=rand();CJ_game(Sjs);count++;// printf("%d\n",count); //测试位 if(Sjs >= 400 && Sjs <= 3676){T_count++;if(T_count == 1){Third_f = count;}}if(Sjs >= 4000 && Sjs <= 5638){S_count++;if(S_count == 1){Second_f = count;}}if(Sjs >= 0 && Sjs <= 327){F_count++;if(F_count == 1){First_f = count;}}if(First_f && Second_f && Third_f){Game_state = 0;}}printf("第一次抽到一等奖所需要的次数为:%d\n",First_f);printf("第一次抽到二等奖所需要的次数为:%d\n",Second_f);printf("第一次抽到三等奖所需要的次数为:%d\n",Third_f);printf("抽到一等奖的总次数为:%d\n",F_count);printf("抽到二等奖的总次数为:%d\n",S_count);printf("抽到三等奖的总次数为:%d\n",T_count);printf("=====请选择新的游戏模式:M:手动,A:自动=====\n");
}void CJ_mode_handch(void)  //手动抽奖
{char ch; int Sjs;printf("\n");printf("\n"); printf("==========模式M:手动抽奖 游戏开始==========\n"); printf("==========按0退出自动模式==========\n"); while(1){printf("=====请输入一个字母:");//scanf(" %c",&ch);  //如果需要输入字符然后回车的,需要在%c前面加空格或者\n,来过滤缓冲区的“回车” ch = getch();  //从键盘获取字符 if( (ch>='a'&&ch<='z') || (ch>='A'&&ch<='Z') ){Sjs = rand();//   printf("%d\n",Sjs);CJ_game(Sjs); }else if(ch == '0'){printf("=====退出手动抽奖模式=====\n");printf("=====请输入新的游戏模式:M:手动,A:自动\n");break;}else{printf("=====请输入字母!!!=====\n");}}}int main()
{srand((unsigned)time( NULL ) ); // 初始化随机数char mode;printf("=======游戏开始==========\n"); printf("=====请选择抽奖模式======\n"); printf("=====按M进入模式M:手动抽奖=====\n");printf("=====按A进入模式A:自动抽奖=====\n"); printf("=====按0结束游戏!!=====\n"); while(1){mode = getch(); if(mode =='A') {CJ_mode_auto(); }else if(mode =='M'){CJ_mode_handch();}else if(mode == '0'){printf("游戏结束!");break;     }else{printf("请输入正确的模式!!!\n");}}return 0;
}


C语言实现随机抽奖程序相关推荐

  1. java 随机抽奖程序

    //设计一个图形化界面的随机抽奖程序,用户单击开始进行滚动抽奖,单击停止即可产生1~36之间的7个随机整数 import java.awt.Cursor; import java.awt.event. ...

  2. html随机抽奖程序

    html随机抽奖程序 <!doctype html> <html> <head> <meta charset="utf-8"> &l ...

  3. 编写一个随机抽奖程序php,基于PHP实现简单的随机抽奖小程序

    摘要:一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身.然后随即生成一个0到最大数之间的一个数,通过循 ...

  4. 随机抽奖程序_某个知乎想法抽奖程序随机更新。jpg

    某乎404-知乎想法转发抽奖​house-map.cn 前言: 李国宝:已经不是知乎第一个想法抽奖程序啦! 李国宝:可能是首个知乎想法抽奖程序? 前阵子好些朋友提过, 一次要抽好几个用户的时候, 要点 ...

  5. 模拟抽奖过程的C语言程序设计,C++抽奖程序实现方法

    本文实例讲述了C++抽奖程序实现方法.分享给大家供大家参考.具体实现方法如下: 一.int rand()可以生成从[0,65536)之间均匀分布的随机数. 现要求实现:有30万员工,使用rand()写 ...

  6. python tkinter 随机抽奖程序

    1. 界面 import tkinter as tk import randoma = ["荀彧","荀攸","贾诩","郭嘉&q ...

  7. 黑桃8形式的c语言编程,C语言的随机发牌程序(红桃、黑桃、梅花、方块)

    做一个随机发牌的C语言程序,供大家学习,思考. 未做任何注释,有测试时候留下的一些输出语句,一遍方便测试. /* author:nunu qq:398269786 */ #include #inclu ...

  8. C语言的随机发牌程序(红桃、黑桃、梅花、方块)

    做一个随机发牌的C语言程序,供大家学习,思考. 未做任何注释,有测试时候留下的一些输出语句,一遍方便测试. /* author:nunu qq:398269786 */ #include<std ...

  9. C语言心算程序设计抽奖程序,幼儿园大班数学优质课:抽奖游戏

    幼儿园大班数学优质课:抽奖游戏 设计意图 5岁-6岁的幼儿抽象逻辑思维开始萌芽,能分析.理解事物间的相应关系,懂得初步的推理.假设:同时他们渴望成功,对抽奖类充满神秘感的游戏极感兴趣.我园旁边有家超市 ...

最新文章

  1. 杭电1044java实现dfs bfs
  2. 剑指offer之二叉树的镜像
  3. 第20课 孔融让梨 《小学生C++趣味编程》
  4. docker privileged作用_Docker 从入门到掉坑
  5. linux pkill窗口,在Linux系统中pkill命令的基础,附pkill命令的使用示例
  6. NOIp 2014 联合权值 By cellur925
  7. WinForm与WPF下跨线程调用控件
  8. js获取单选按钮选项
  9. 昂达平板装linux系统下载,U盘启动:昂达平板用上了Ubuntu Uudgie 16.10 Linux操作系统...
  10. 建议IPC采用RTMP(server+rtmppush)的流媒体框架。
  11. PPT画四分之一圆或扇形
  12. Student数据库创建
  13. 双创项目_宫颈癌智能风险检测(4)
  14. html页面调用高德地图,html前端使用高德地图入门教程
  15. Java小白 学习笔记(二)——2020版Java语言基础
  16. 自己学习linux,菜鸟谈自己的linux学习
  17. vs code无法输入汉语
  18. Reinforcement learning book 学习笔记 第一章
  19. linux du命令 前多少个,Linux du命令查看文件夹大小并按降序排列
  20. java架构知识点-大数据与高并发(学习笔记)

热门文章

  1. 停车场车辆定位管理系统
  2. python杨辉三角问题
  3. 小心踩雷,一次Java内存泄漏排查实战
  4. ProGuard Usage 翻译
  5. 二改广告横幅在线制作源码 美化版
  6. 证件照怎么改kb大小?这两种方法分分钟解决
  7. 企业邮箱如何设置邮件审核
  8. 开启灯光就是近光吗_下列哪些灯光表示使用近光灯
  9. 数据分析方法08用户画像
  10. 17.如何免费获取已发表SCI论文数据库