/* Compute chi-squared test for me please */ #include #define MAX_BINS 100 int main() { int i, bins; int expected[MAX_BINS]; int observed[MAX_BINS]; float sum = 0.0; printf("How many bins? "); scanf("%d", &bins); if( bins > MAX_BINS ) { fprintf(stderr, "Sorry, but I can't do that many!\n"); return; } printf("Enter expected value for each bin: "); for( i = 0; i < bins; i++ ) { scanf("%d", &expected[i]); } printf("Enter observed value for each bin: "); for( i = 0; i < bins; i++ ) { scanf("%d", &observed[i]); } /* compute chi-squared statistic */ sum = 0.0; for( i = 0; i < bins; i++ ) { sum += (observed[i] - expected[i]) * (observed[i] - expected[i]) / expected[i]; } printf("Sum: %f \n", sum ); printf("Degrees of Freedom: %d\n", bins-1 ); }