寻找高手编程解决:三个0-9的随机数字相加所得数字出现的概率分别为多少?邮箱boysyro@163.com

来源:百度知道 编辑:UC知道 时间:2024/06/07 12:57:08

0-9三个随机数之和最大为27最小为0,可以设一数组a[28]={0},设三个数a=rand()%10,b=rand()%10,c=rand()%10,然后令sum=a+b+c,然后令a[sum]++,然后a[0]~a[27]依次除以总次数即可。

程序如下:(c version)
#include <stdio.h>
#include <stdlib.h>
//循环10000次算概率该值越大概率越精确
const int count=10000;
void main(void)
{
int aa[28]={0};
int sum;
int a,b,c;
int i;
for(i=0;i<count;i++)
{
a=rand()%10;
b=rand()%10;
c=rand()%10;
sum=a+b+c;
aa[sum]++;
}
for(i=0;i<28;i++)
{
printf("%d概率为:%f\n",aa[i],aa[i]*1.0/count);
}
}

程序已在vc6.0上调试通过