C语言分奖励等级,抽奖代码

本问题我已经自我解决,代码如下我已改,求推荐好代码,关于九格抽奖的,像老虎机那样,还有转盘抽奖,求网址看,看大神的代码,越标准,越正式越好

题目是我自己想的:今有抽奖活动,一共有N张抽奖券,一等奖1名奖金一个亿,二等奖2名奖励宝马一辆,三等奖3名一百万,勉励奖10名***酒店1000元优惠券,特等奖N/100名一个屁

我的思路
1,先给两个总量N的数组,赋值1到N;两个数组内容一样,
2设置好变量或数组,用以储存从数组一中随机选取出的数;
3,在数组一中随机选取一个数,把值传递给先前2中设置好的储存位置,分别进行好一等奖二等奖等等的号码选取,选取一个 后再将数组一中已选取的数组删去,方便下次随机不会随机到一样的数字;
4,在数组二中随机选取一个数,分别与步骤二中各个变量和数组的值比较是否相同,若与一等奖值相同则输出恭喜获得一等奖,以此类推,选取一个删除一个,防止重复

#include
#include
#include

#define N 10000 //定义抽奖总量
#define ONE 1 //一等奖数
#define TWO 2 //二等奖数
#define THREE 3 //三等奖数
#define TEN 10 //勉励奖数

static int count=0; //每次循环选出后取余减少
static int count1=0; //每次循环后减去a数组的已选出的

void input(int *p,int *q,int index); //声明输入函数
void choice(int n,int *p,int *q); //声明选出中奖号码
int select (int n,int *p,int number); //声明抽奖

main()
{
int a[N],b[N],first,second[2],third[3],encourage[10],special[N/100]; //储存所有抽奖券,一等奖,二等奖,三等奖,
int i;
int p,*q,*one,*two,*three,*encourage_,*special_; //指针
int number; //抽奖抽得号码
p=a,q=b;

input(p,q,1); //输入
// for(i=0;i<N;i++) printf("%6d",p[i]); //检验输入
srand(time(NULL));
one=&first;
two=second;
three=third;
encourage_=encourage;
special_=special;
choice(ONE,p,one); //选取一等奖
choice(TWO,p,two); //选取二等奖
choice(THREE,p,three); //选取三等奖
choice(TEN,p,encourage_); //选取勉励奖
choice(N/100,p,special_);
// printf("%d\n",first);
// for(i=0;i<2;i++) printf("two:%d",
(two+i));
// for(i=0;i<3;i++) printf("three:%d",*(three+i));
// for(i=0;i<10;i++) printf("encourage_:%d",*(encourage_+i));
// for(i=0;i<(N/100);i++) printf("special_:%d",*(special_+i));
for(i=0;i<3;i++)
{

printf("请输入你想抽取的号码(1~10000)\n"); //选取特等奖
printf("你还有%d次机会\n",3-i);
scanf("%d",&number);
if(number==0) break;
if(select(ONE,one,number)==1) printf("恭喜你得了一等奖\n");
else if(select(TWO,two,number)==1) printf("恭喜你得二等奖\n");
else if(select(THREE,three,number)==1) printf("恭喜你得了三等奖\n");
else if(select(TEN,encourage_,number)==1) printf("恭喜你得了勉励奖\n");
else if(select(N/100,special_,number)==1) printf("恭喜你得了特等奖\n");
else printf("很遗憾,您与奖励插肩而过\n");
}
if(i==3) printf("很抱歉,您的机会已用完,请重新打开程序");
}

void input(int p,int *q,int index)
{
for(;index<=N;index++)
{
*(p+index-1)=index;
*(q+index-1)=index;
}
/
(p+index-1)=index;
*(q+index-1)=index;
if(index<N)
{
input(p,q,index+1);
}
/
}

void choice(int n,int p,int *w)
{

int l; //储蓄下标
while(n)
{
int m=N-count;
l=rand()%m;
/*printf("p%d:%d\n",n,
(p+l));*/
w[n-1]=*(p+l);
/* printf("w:%d\n",w[n-1]);*/
count1++;
if(l==N-1) *(p+N)='\0';
else
{
for(;l<N;l++) //循环删去已用的
{

p[l]=p[l+1];

}
p[n-count1]='\0';
}
n--;
count++;
}
}

int select (int n,int p,int number)
{

int count2=0; //判断是否和中奖数列某数相同
while(n)
{

if(
(p+n-1)==number) count2++;
n--;
}
// printf("count2=%d\n",count2);
if(count2==1) return 1;
else return 0;
}

c

1个回答

代码问题就你自己去思考了。

一般商业上搞抽奖都是为了欺骗消费者,主要的设计有两个,一个是转盘抽奖的每个奖区扇形面积相同,让人产生高奖值概率很大的错觉。实际上,先按照概率随机生成获奖结果,然后再显示。
另一个更缺德,实际上根本没有随机抽奖的逻辑,直接导向设计者期待的结果。
还有,用于产品促销性质的抽奖,根据有关法规,最高奖励不能超过5000。

wei___123
wei___123 我的代码是正确的,我只是想有人能提供给我我一些已做好的,项目抽奖例子,让我参考参考,提供下资源
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c语言等级考试试题
对考试这非常的适用!
c语言等级考试题
c语言等级考试题,erji
c语言 等级图片
http://img.my.csdn.net/uploads/201207/12/1342062419_6287.jpgrn问题如图,小弟一点思路也没有,望各位大哥不吝赐教!谢谢各位了
【C语言】成绩等级
输入100分制成绩,要求输出成绩等级A,B,C,D,E。90分以上是A,然后每十分一个等级。 #include &amp;lt;stdio.h&amp;gt; void main() { int a,b; printf(“请输入成绩:”); scanf(&quot;%d&quot;,&amp;amp;a); if(a&amp;gt;100) { printf(“成绩输入不正确!”); } else { b=a/10; switch(b){ ca...
上下滑动的多条的推荐好友奖励,抽奖奖励
上下滑动的多条的推荐好友奖励,抽奖奖励,这个是多条的抽奖奖励,推荐好友奖励
抽奖C代码
//********************************************// //**This program created by Feng ZHANG     **// //**Any questions please send me a email  **// //**Email Add:1546808694@qq.com            **// //**
可以设置不同奖励抽奖
可以设置奖励的抽奖,跟踪资源设置不同的奖品,抽奖的结果可以按要求设置
vb抽奖设计实现抽奖等级
分设一等奖‘二等奖、三等奖,每隔一定的时间是数字跳动得到结果
历年C语言等级考试题
对于要考二级C语言的人来说很有用,多看看,多练练,一定能通过的,我就是看这个题考过的了.
全国计算机等级C语言
2010年3月全国计算机等级考试二级C语言笔试真题
计算机等级二级C语言
计算机等级考试 二级C语言压缩包 资料共享
计算机等级二级c语言
请参加过计算机等级考试的朋友回答:rn请问C语言等级国家考试的流程是什么?考试费用??我想明年三月份考试,报名的时间??还有我是自学的,应该买什么参考书比较好哪,是买一本二级的公共课程还有一本c语言的专业书吗???
C语言运算符优先级等级口诀
由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容
c语言编写抽奖系统
想要可视化程序,c/c++语言编写的.rn 能给个具体思路么? 谢谢
C语言——抽奖系统(课程设计)
该程序的功能包括: 1、设置中奖人员 2、设置内幕人员 3、添加功能 4、删除功能 5、颜色设置 6、开发人员介绍 在使用该系统之前,请先在你程序保存的位置建一个17计科2.txt文档,里面填上学号和姓名,例如:25 贺志营。 建好txt文档后就可以直接运行了 运行截图及代码如下: 主界面: 功能介绍界面: 设置奖项界面: 开始抽奖界面不好演示,它是个动态的,下面有代...
c语言 数组的抽奖小游戏
/* 1.我先准备抽奖的数据 2.从键盘随便录入一个数据 然后和我们准备的数据做对比 对比上我们提示中奖了 23(一等),12(二等奖),4(三等奖),7,56,89(优胜奖) */ #include &lt;stdio.h&gt; main(){ //1.数组来准备数据 int arr[6]={23,12,4,7,56,89}; ...
c语言倒计时抽奖程序
c语言倒计时抽奖程序 10秒倒计时 时间库函数 随机函数
抽奖程序C语言编写
大于等于2个字.抽奖程序。软件不能正常运行 首先请您检查软件包是否完整。 最好到官方网站或华军、天空等大站下载。 并确认系统已安装VB6动态链接库。 如果您在使用中发现提示有关 comdlg32.ocx 的错误, 请您将本目录中的 comdlg32.ocx 拷贝到 X:\WINDOWS\system32 如果操作系统为 Windows 2000 则拷贝到 X:\WINNT\system32 (以上 X: 代表 Windows 安装所在路径)
C语言--使用技巧(二)日志分水平等级打印
debug.h #ifndef _DEBUG_H_ #define _DEBUG_H_ #include &amp;quot;stdio.h&amp;quot; // 定义log打印水平 #ifndef _LOGLEVEL_ #define _LOGLEVEL_ 3 #endif #define LOGERROR(x) if(_LOGLEVEL_&amp;amp;gt;0) { printf(&amp;quot;[WiFiDEV] &amp;quot;); printf...
html5抽奖 分享奖励一次抽奖机会 可自定义配置
html5抽奖 分享奖励一次抽奖机会 界面,奖品,抽奖次数可自定义配置
简单贪吃蛇C语言代码(含菜单选等级等功能)
C语言编写的一个贪吃蛇游戏,有菜单,可选难度等级,在Dev-C++上编译通过。
c语言代码 c语言代码
c语言代码c语言代码c语言代码c语言代码c语言代码c语言代码c语言代码c语言代码
delphi 抽奖系统 随机抽取 奖励
抽奖系统 年会 企业delphi
c语言入门之项目2.0——成绩等级
编译代码 /*********************** **项目【1.9】多分支结构之switch语句** **题目:要求成绩在90-100中间的打印字符 A,80-89之间的打印字符B;70-79之间的打 印字符C;60-69之间的打印字符D;60分以 下的打印字符E。** **作者:李坤** ************************/ #include int
2012年等级二级C语言学习
2012年全国计算机等级考试二级C语言学习辅导
中程 = 等级二级考试 = C语言期末考试 ?
听说很菜的哦……
浙江省计算机等级二级c语言试题
浙江省计算机等级考试二级c语言试题,分享一下,供又需要的人下载使用
全国等级二级c语言公共知识
全国等级二级c语言公共知识 公共知识占计算机二级C语言笔试中重要的一部分 大概有百分之三十左右
C语言运算符优先等级口诀
由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握C++的优先级的!
c语言等级考试题集 全国计算机
c语言等级考试题集 c 考题 题集 等级考试
C语言全面的运算符等级
我把C语言运算符等级制成了一张图片,方便观看,里面有简单的记忆方法。
高程 = 等级二级考试 = C语言期末考试
本人本来想今年备考高程,但是听到一些师兄说,高程的程序设计和所谓的“系统设计”题简直是弱智,一个师兄对比了他们班的C语言期末考试和高程试卷,结果发现,高程试题在深度和创造性上根本就不行,简直是在培养低级、僵化的“大妈思维”。过了高程的一个师兄居然不会打开SQL Server数据库,他说,高程不考这些,“考的是一种思想”——听完我狂吐,难道过了高程的都是这样的笨蛋“思想家”?在这个以实力打天下的社会,你尽管去“思想”吧。高程考试和高程程序员真是臭不可闻!
C语言计算机等级上机题2009
C语言上机南开100题(2009年终结修订word版).rar
全国计算机等级二级C语言课件
为准备考二级的同学准备的,是资深教师制作的
历届C语言上海市等级试题及参考答案
历届C语言上海市等级试题及参考答案,还有部分考试涉及但课堂上没将的内容及辅导材料
C语言实现判断分数等级
C语言实现判断分数等级 从屏幕上输入一个学生的成绩(0-100),对学生成绩进行评定:   &amp;lt;=60为&quot;E&quot;        60~69为&quot;D&quot;        70~79为&quot;C&quot;        80~89为&quot;B&quot;        90以上为&quot;A&quot;        &amp;lt;0或&amp;gt;100提示成绩输入出错   实现代码: 1 #include &a
C语言基于printf下加入debug等级
实现方法1: #include &amp;lt;stdio.h&amp;gt; unsigned int debugflags = 1; //这里设计debug值,我默认全部输出 #define mprintf(level,args...) \ do { if((debugflags &amp;amp; level)) printf(args);} while(0); //或者使用此方式 #define mpr...
C语言——实例015 条件运算符,成绩等级
/* Name: Copyright: Author: Date: 30/07/17 09:09 Description: 【程序15】题目:利用条件运算符的嵌套来完成此题: 学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 程序分析:条件运算符(? : )是一个三目运算符,即有三个操作数 */ #include int
计算机c语言二级等级上机考试试题
计算机c语言二级等级上机考试往年的真题,模拟题,并有相应的答案
C语言二级等级考试试题及答案
除了笔试题目,里面还有上机实践题!
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池