#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TRY 1000
#define CARDS 11
int main() {
const double chance[CARDS] = {
0.0011, 0.0110, 0.0549, 0.0549, 0.1098,
0.1098, 0.1317, 0.1317, 0.1317, 0.1317, 0.1317
};
int counts[CARDS] = {0};
double addchance[CARDS] = {0};
addchance[0] = chance[0];
for (int i = 1; i < CARDS; i++) {
addchance[i] = addchance[i-1] + chance[i];
}
srand(time(NULL));
for (int t = 0; t < TRY; t++) {
double r = (double)rand() / RAND_MAX;
for (int i = 0; i < CARDS; i++) {
if (r <= addchance[i]) {
counts[i]++;
break;
}
}
}
printf("编号 抽取次数 模拟概率\n");
for (int i = 0; i < CARDS; i++) {
printf("%2d号\t%5d\t%6.2f%%\n",
CARDS-i, counts[i], (double)counts[i]/TRY*100);
}
return 0;
}