/* Tính điểm trung bình nhận được Input: Nhập từ bàn phím 5 số là điểm của 5 giám khảo Output: Trả về điểm lớn nhất, điểm nhỏ nhất, điểm sau cùng #### Test case 1: Enter a judge's score: 10 Enter a judge's score: 5 Enter a judge's score: 7 Enter a judge's score: 10 Enter a judge's score: 3 Max = 10.00 Min = 3.00 Final score = 7.33 #### Test case 2: Enter a judge's score: 10 Enter a judge's score: 10 Enter a judge's score: 10 Enter a judge's score: 10 Enter a judge's score: 10 Max = 10.00 Min = 10.00 Final score = 10.00 #### Test case 3: Enter a judge's score: 0 Enter a judge's score: 0 Enter a judge's score: -1 Enter a judge's score: -1 Enter a judge's score: 0 Enter a judge's score: 10 Enter a judge's score: 2 Max = 10.00 Min = 0.00 Final score = 0.67 */ void getJudgeData(double *s) { do { printf("Enter a judge's score: "); scanf("%lf", s); } while ( *s <0 || *s > 10); } double findLowest(double s1, double s2, double s3, double s4, double s5) { double min = s1; if (s2 < min) min = s2; if (s3 < min) min = s3; if (s4 < min) min = s4; if (s5 < min) min = s5; return min; } double findHighest(double s1, double s2, double s3, double s4, double s5) { double max = s1; if (s2 > max) max = s2; if (s3 > max) max = s3; if (s4 > max) max = s4; if (s5 > max) max = s5; return max; } void calcScore(double s1, double s2, double s3, double s4, double s5) { double sum = s1 + s2 + s3 + s4 + s5; double max = findHighest(s1, s2, s3, s4, s5); double min = findLowest(s1, s2, s3, s4, s5); sum -= (min + max); printf("Max = %1.2f \n" ,max); printf("Min = %1.2f \n" ,min); printf("Final score = %1.2f \n" ,sum/3); } int bai9_8() { double s1, s2, s3, s4, s5; getJudgeData(&s1); getJudgeData(&s2); getJudgeData(&s3); getJudgeData(&s4); getJudgeData(&s5); calcScore(s1, s2, s3, s4, s5); return 0; }