C语言实现随机抽奖程序
#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语言实现随机抽奖程序相关推荐
- java 随机抽奖程序
//设计一个图形化界面的随机抽奖程序,用户单击开始进行滚动抽奖,单击停止即可产生1~36之间的7个随机整数 import java.awt.Cursor; import java.awt.event. ...
- html随机抽奖程序
html随机抽奖程序 <!doctype html> <html> <head> <meta charset="utf-8"> &l ...
- 编写一个随机抽奖程序php,基于PHP实现简单的随机抽奖小程序
摘要:一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身.然后随即生成一个0到最大数之间的一个数,通过循 ...
- 随机抽奖程序_某个知乎想法抽奖程序随机更新。jpg
某乎404-知乎想法转发抽奖house-map.cn 前言: 李国宝:已经不是知乎第一个想法抽奖程序啦! 李国宝:可能是首个知乎想法抽奖程序? 前阵子好些朋友提过, 一次要抽好几个用户的时候, 要点 ...
- 模拟抽奖过程的C语言程序设计,C++抽奖程序实现方法
本文实例讲述了C++抽奖程序实现方法.分享给大家供大家参考.具体实现方法如下: 一.int rand()可以生成从[0,65536)之间均匀分布的随机数. 现要求实现:有30万员工,使用rand()写 ...
- python tkinter 随机抽奖程序
1. 界面 import tkinter as tk import randoma = ["荀彧","荀攸","贾诩","郭嘉&q ...
- 黑桃8形式的c语言编程,C语言的随机发牌程序(红桃、黑桃、梅花、方块)
做一个随机发牌的C语言程序,供大家学习,思考. 未做任何注释,有测试时候留下的一些输出语句,一遍方便测试. /* author:nunu qq:398269786 */ #include #inclu ...
- C语言的随机发牌程序(红桃、黑桃、梅花、方块)
做一个随机发牌的C语言程序,供大家学习,思考. 未做任何注释,有测试时候留下的一些输出语句,一遍方便测试. /* author:nunu qq:398269786 */ #include<std ...
- C语言心算程序设计抽奖程序,幼儿园大班数学优质课:抽奖游戏
幼儿园大班数学优质课:抽奖游戏 设计意图 5岁-6岁的幼儿抽象逻辑思维开始萌芽,能分析.理解事物间的相应关系,懂得初步的推理.假设:同时他们渴望成功,对抽奖类充满神秘感的游戏极感兴趣.我园旁边有家超市 ...
最新文章
- 杭电1044java实现dfs bfs
- 剑指offer之二叉树的镜像
- 第20课 孔融让梨 《小学生C++趣味编程》
- docker privileged作用_Docker 从入门到掉坑
- linux pkill窗口,在Linux系统中pkill命令的基础,附pkill命令的使用示例
- NOIp 2014 联合权值 By cellur925
- WinForm与WPF下跨线程调用控件
- js获取单选按钮选项
- 昂达平板装linux系统下载,U盘启动:昂达平板用上了Ubuntu Uudgie 16.10 Linux操作系统...
- 建议IPC采用RTMP(server+rtmppush)的流媒体框架。
- PPT画四分之一圆或扇形
- Student数据库创建
- 双创项目_宫颈癌智能风险检测(4)
- html页面调用高德地图,html前端使用高德地图入门教程
- Java小白 学习笔记(二)——2020版Java语言基础
- 自己学习linux,菜鸟谈自己的linux学习
- vs code无法输入汉语
- Reinforcement learning book 学习笔记 第一章
- linux du命令 前多少个,Linux du命令查看文件夹大小并按降序排列
- java架构知识点-大数据与高并发(学习笔记)