c语言判断中奖情况的函数,c语言中奖程序

如何用C语言控制不同的中奖概率

好理解一点的:你可以用srand获得一个100以内的随机数 这个数如果小于60 则意味着“60%中奖的事件中奖了”如果大于60 则“60%中将的事件没中奖” 当然这种思路并不“严格随机”也不“严格按照60%中奖概率发生” 如果需要复杂且比较尊循实际抽奖事件的 可以追问

创新新互联,凭借十载的成都网站建设、成都网站制作经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上千多家案例。做网站建设,选创新互联

C语言游戏中奖概率算法

从思想上来所,随机变量x有两个值,0表示不中奖,1表示中奖。如果进行N次实现,如果出现1的次数 / N = p%的话,我们说,x为1的概率为p%

STDLIB 中 rand() 函数的返回值,我们可以认为是服从平均分布的随机变量的值。通过不等式的变换,我们可以得到任意范围内,平均分布的随机变量。

比如说,20%的中奖率,我可以定义, 取[0, 99]的随机整数,如果该值为[0, 20) 则中奖,否则不中,那么中奖率就为 20%

C语言中调用什么函数能停止输出和继续输出

比较晚了,所以简单先看看你的问题,先回答简单的吧。

int fun(int a)

{

int b;

scanf("%d",a);

b=a;

return b;/*把输入的a 赋值到变量b*/

}

这个函数如果执行

int x;

x=fun(11);

那么就相当于x=11

因为这个函数就是把()里面的数字传递给fun()函数

明儿再帮您慢慢看全部啊~~good night

兄弟 我帮你修改好全部程序了,我的程序如下,你先自己跑跑看看现象就明白了。

#include stdlib.h

#include stdio.h

#include time.h

#include math.h

#includeconio.h

struct gift

{

int fromnum;

int tonum;

char level[10];

char gift1[10];

};

struct gift gif[3]=,,};/* 这个结构体用输出类似表格的模式

把奖励的情况表示清楚*/

int fun(int a);

int main()

{

int b,c,d,e=0,o=0,a; int ccii;

time_t t;

struct gift *p ;/*定义指针*p方便输出结构体*/

printf("fromnum tonum level gift\n");

for(p=gif;pgif+3;p++)

{

printf("%d %d %-10s %-10s\n",p-fromnum,p-tonum,p-level,p-gift1 );

}/*结构体的输出*/

srand((unsigned) time(t));

printf("\n\n\n");

printf("-----------------------------------------------\n");

printf("------| 欢迎参加老虎机游戏 |-----------\n");

printf("------| 规则: |-----------\n");

printf("------| 三个数字相同则中奖 |-----------\n");

printf("------| 同为0加4个筹码 |-----------\n");

printf("------| 同为1或2加3个筹码 |-----------\n");

printf("------| 同为3或4或5加2个筹码 |-----------\n");

printf("------| 同为6或7或8或9加1个筹码 |-----------\n");

printf("------| 停止后根据以上规则 |-----------\n");

printf("------| 可以换取相应的奖品 |-----------\n");

printf("-----------------------------------------------\n");

printf("请按任意键开始: 回车键停止:\n\n");

getch();/*需要一个无输出输入直接用 getch */

do

{

do

{

printf("b=%d\t", rand() % 10);

printf("c=%d\t", rand() % 10);

printf("d=%d\r", rand() % 10);/*\r表示重头输入*/

_sleep(100); /*\作用:延时,程序暂停若干时间。 时间,就是他的参数,单位是毫秒。*/

}

while(!_kbhit());/*kbhit检查当前按下的键 */

//printf("stopping here");

//printf("%d",_kbhit());

printf("b=%d", b=rand() % 10);

printf("\tc=%d", c=rand() % 10);

printf("\td=%d\n", d=rand() % 10);/*重新输出随机变量*/

// scanf("%d",ccii);

//exit(0);

// b=1;

// c=1;

// d=1;

if((b==c)||(b==d))

{

if(b==0)

e=e+4;

else if(b==1||b==2)

e=e+3;

else if(b==3||b==4||b==5)

e=e+2;

else if(b==6||b==7||b==8||b==9)

e=e+1;

else ;

printf("恭喜你中奖了\n\n");

printf("您的筹码总值为%d\n\n",e);

}

else

{ printf("很遗憾,没有得奖,请继续加油,下次一定会中奖\n\n");

printf("您的筹码总值为%d\n\n",e);

}

/*关于中奖的判断,以及中奖的等级的判断 */

printf("请按除0外任意数字键继续,按回车键停止。输入数字0离开游戏。\n");

}

while(o=fun(a));/*需要输入但是无法直接使用,用fun函数把输入用变量b的形式输出来*/

printf("您的筹码总值为%d\n",e);/*根据上面结构体中输出的表格可以知道兑换的产品*/

if(e20)

printf("您得到了一个杯子\n");

else if (e50)

printf("您得到了一个泰迪熊\n");

else

printf("您得到了一个mp4\n");

return 0;

}

int fun(int a)

{

int b;

scanf("%d",a);

b=a;

return b;/*把输入的a 赋值到变量b*/

}

关于程序中中奖的判断条件我帮你修改了一下,现在是if((b==c)||(b==d))

也就是三个数字任意两个相同我认为就是获奖了。为什么要这么修改?那是因为你的程序要求实在十分苛刻,我自己跑了十分钟都跑不出来三个数相同的!这就是为什么老虎机是骗钱的原理了!

程序的部分语句我也做了修改,具体见上述coding

祝你跑程序愉快。

你的很多 else if 语句用的不是很好 因为else if的用法你可能没有掌握好,这些语句我都帮你修改了一下,coding中少数注释语句是我调程序时候用过的,并没有删掉,但是不影响你的运行。相反可以作为参考。


本文题目:c语言判断中奖情况的函数,c语言中奖程序
URL网址:http://hbruida.cn/article/hoijdg.html