我是准备这样写
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main ()
{
int n1;
int n2;
int N;
N = 10; // N 次比如10次
/*初始化随机生成器*/
srand ( time(NULL) );
for (n1=N; n1>0; n1--) {
//NUM1
printf ("NUM1 - A number between -10 and 10: %d\n", rand()%21-10);
//NUM2
n2 = rand()%3;
switch (n2)
{
case 0:
printf ("NUM2 - 1/3 chance = 0: %d\n", 0);
break;
case 1:
// 这里空缺了,我不会写指数分布的表达式
printf ("NUM2 - 1/3 chance - A number between -10 and -1: %d\n", -10);
break;
default: // case 2:
// 指数分布的表达式
printf ("NUM2 - 1/3 chance - A number between 1 and 10: %d\n", 10);
}
}
return 0;
}
这样可以吗?
对于那个概率的问题,我还有点疑问,如果我增加两个表达式:
Num_2的取值有5种情况
1/5概率 值为0
1/5概率 取值在区间[-10,-1]内,呈现指数分布
1/5概率 取值在区间[1,10]内,呈现指数分布
1/5概率 取值在区间(-∞,-11]内,呈现均匀分布
1/5概率 取值在区间[10,+∞)内,呈现均匀分布
那么我应该如何表达呢?
[此贴子已经被作者于2006-5-4 20:26:40编辑过]