我试图调用rand()来选择两个数字中的一个,1或2。
这样:(伪)
//the first call might print 2
printf("%d",rand(1 or 2)); //prints 1, perhaps
//and the second call might print 2
printf("%d",rand(1 or 2)); //prints 2, perhaps
如何做到这一点? 也许称这些变量 int first = 1; int second = 2; 从那里工作?
答案 0 :(得分:2)
假设你想要每个值的概率相等,你可以实现一个这样的简单函数,它测试rand() < RAND_MAX / 2
以确定要返回的两个值中的哪一个:
int rand_1_2(int first, int second)
{
return rand() < RAND_MAX / 2 ? first : second;
}
答案 1 :(得分:-1)
我赞成这样的事情
double rnd = rand();
if(rnd < 1/2)
{
printf("first");
}
else
{
printf("second");
}