# include int main ( ) { float average; int count[5]; int g; int grade[100]; int i; char letter; int max; int min; int n; int sum; // // Read grades one by one. // We can't accept more than 100 grades. // If the user enters a "-1", we stop reading grades. // n = 0; printf ( "Enter grades one at a time, or -1 when done\n" ); while ( n < 100 ) { scanf ( "%i", &g ); if ( g == -1 ) { break; } grade[n] = g; n = n + 1; } printf ( "%d grades were entered.\n", n ); if ( n == 0 ) { return 1; } // // Compute the average. // sum = 0.0; for ( i = 0; i < n; i++ ) { sum = sum + grade[i]; } average = ( float ) sum / ( float ) n; printf ( "The average grade was %3.1f\n", average ); // // Compute the minimum and maximum. // max = grade[0]; min = grade[0]; for ( i = 1; i < n; i++ ) { if ( grade[i] < min ) { min = grade[i]; } if ( max < grade[i] ) { max = grade[i]; } } printf ( "The maximum grade was %d\n", max ); printf ( "The minimum grade was %d\n", min ); // // Make a histogram for F/D/C/B/A in count 0/1/2/3/4. // for ( i = 0; i < n; i++ ) { if ( grade[i] < 60 ) { count[0] = count[0] + 1; } else if ( grade[i] < 70 ) { count[1] = count[1] + 1; } else if ( grade[i] < 80 ) { count[2] = count[2] + 1; } else if ( grade[i] < 90 ) { count[3] = count[3] + 1; } else { count[4] = count[4] + 1; } } // // Print the histogram: // letter = 'F'; for ( i = 0; i < 5; i++ ) { printf ( "%c: %2d\n", letter, count[i] ); letter = letter - 1; if ( letter == 'E' ) { letter = 'D'; } } return 0; }