このコードは、特定の確率で乱数を取得するために使用されますr
。 が 0 ~ 0.8 の場合は 8 が返されます。r
が 0.8 ~ 1 の場合は 2 が返されます。
#include<stdio.h>
#include<pthread.h>
#include<stdlib.h>
int main()
{
srand(time(NULL));
double r = rand() / (double)RAND_MAX;
double sum = 8 + 2;
if (r < 8 / sum) {
printf("80% \n");
} else {
printf("20% \n");
}
}
しかし、2 つ以上の数 (n など) がある場合、どうすればそれを処理できますか? 複数の if-else ステートメントで処理できますか? それとも他に何ですか?