C语言中如何表示概率21
发布网友
发布时间:2023-10-18 09:35
我来回答
共4个回答
热心网友
时间:2024-12-01 12:49
现成的函数没有,可以通过产生随机数实现概率。
srand((unsigned)time(NULL));
int m,r=0;
m=rand()%10;
if(m==1||m==2||m==3||m==4||m==5||m==6||m==7)
{
r=r+1;
}
这段代码中,执行r=r+1的概率就是0.7
希望可以帮到你追问能不能让执行的概率为50%呢??
追答主要实现代码如下,不全自己补充
srand((unsigned)time(NULL));//如果没有这行代码,每次运行程序你的随机数产生是固定的没有随机性;
m=rand()%10;//取1-10随机数
if(m==1||m==2||m==3||m==4||m==5)//当m=1或2或3或4或5时进行接下来的程序,这时候的概率就是50%
热心网友
时间:2024-12-01 12:50
你自己写一个不就行了!举个例子!
比如a=30,b=70,a占b的多少,你就可以输出的时候先算出(a/b)*100然后在再后面添加一个“%”不就输出成%的样子了吗!
很多函数都要自己写,即使函数库中已经有了,即使你写的也不好,但是这个才是提高的最好方法!
热心网友
时间:2024-12-01 12:50
C语言中表示概率代码如下:
publicstaticdoubleNORMSDIST(doublea)
{
doublep =0.2316419;
doubleb1 =0.31938153;
doubleb2 = -0.356563782;
doubleb3 =1.781477937;
doubleb4 = -1.821255978;
doubleb5 =1.330274429;
doublex = Math.abs(a);
doublet =1/(1+p*x);
doubleval =1- (1/(Math.sqrt(2*Math.PI)) * Math.exp(-1*Math.pow(a,2)/2)) * (b1*t + b2 * Math.pow(t,2) + b3*Math.pow(t,3) + b4 * Math.pow(t,4) + b5 * Math.pow(t,5) );
if( a <0)
{
val =1- val;
}
returnval;
}
热心网友
时间:2024-12-01 12:51
好像没有。