【发布时间】:2018-06-11 05:33:03
【问题描述】:
如何在 C 中生成随机整数值? 我需要它像抛硬币一样。 这是我尝试过的:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
#include <time.h>
int main(void)
{
int i;
srand(time(NULL));
for (i=0; i<10; i++)
if ((int)(((float) rand() / ((float) SHRT_MAX)) * 2) > 0)
puts("etz");
else
puts("pali");
return EXIT_SUCCESS;
}
【问题讨论】:
-
对我来说太复杂了。你可以做
if (rand() % 2) -
标记的复制品并不是真正的复制品 - 这个问题是关于偏向硬币,而不是公平硬币。
-
@HolyBlackCat 糟糕的想法 - 请参阅发布的答案。
-
不要在 Stack Overflow 上使用 [Tab]。它不会正确格式化您的帖子。请改用 4 空格缩进。