#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define HIST 10
double urandom(void)
{
return rand() / (RAND_MAX + 1.0);
}
int main()
{
int hist[HIST] = {0};
int i, h;
double d;
srand((unsigned)time(NULL));
for (i = 0; i < 100; i++) {
d = urandom();
printf("%f\n", d);
h = d * HIST;
if (h < 0 || HIST <= h) {
fprintf(stderr, "error: h=%d d=%f\n", h, d);
return 1;
}
hist[h]++;
}
for (i = 0; i < HIST; i++) {
printf("%d=%d\n", i, hist[i]);
}
return 0;
}