/** * avetestb.c - An non-interactive test of the average procedure. */ #include #include #include #include "average.h" /** * Procedure: * report * Parameters * values, an array of integers * count, an integer * Purpose: * Prints a simple report on the average value in values * Produces: * [Nothing; Called for the side effect.] * Pre: * values[] contains at least count values * count > 0 */ void report (int values[], int count) { int i; printf ("average ({%d", values[0]); for (i = 1; i < count; i++) { printf (",%d", values[i]); } // for printf ("}) = %d.\n", average(values, count)); } // report int main () { int values1[] = { 10, 20, 40, 0, 80 }; int values2[] = { -20, -30, -40 }; int values3[] = { -20, 10, 40, -10, 80 }; int values4[] = { INT_MAX, INT_MAX, INT_MAX, INT_MAX }; int values5[] = { INT_MIN, INT_MIN, INT_MIN, INT_MIN }; int values6[] = { 44, 10, 19 }; int values7[] = { 1 }; int i; report (values6, 3); report (values6, 1); report (values6, 2); report (values7, 1); report (values1, 5); report (values1, 3); report (values2, 3); report (values3, 1); report (values3, 3); report (values3, 5); for (i = 1; i <= 4; i++) report (values4, i); for (i = 1; i <= 4; i++) report (values5, i); // And we're done return EXIT_SUCCESS; } // main