#include int roll(int n); #define MAXN 10000 int main(int argc,char **argv) { int bins[MAXN+1]; int n, nthrow, echo; int nbins, i, val; double expected; if( argc < 3 || argc > 4 ) goto Usage; if( sscanf(argv[1],"%d",&n) != 1 || n > MAXN || sscanf(argv[2],"%d",&nthrow) != 1 ) goto Usage; echo = (argc > 3); nbins = n + 1; for( i = 0; i < nbins; i++ ) bins[i] = 0; for( i = 0; i < nthrow; i++ ) { val = roll(n); ++bins[val]; if( echo ) printf("%d\n",val); } expected = (double) nthrow / nbins; printf("Frequency counts\n"); for( i = 0; i < nbins; i++ ) { printf("%3d: %5d (%.1f%%)\n",i,bins[i], 100.0 * (bins[i] - expected) / expected); } exit(0); Usage: fprintf(stderr,"usage: troll []\n"); exit(1); }