题解 | #统计成绩#
统计成绩
https://www.nowcoder.com/practice/cad8d946adf64ab3b17a555d68dc0bba
//特别的,我用了排序的方法去取得最大最小值 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> float* MAX(float arr[]) { float temp; for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) { if (arr[i] > arr[i + 1]) { temp = arr[i + 1]; arr[i + 1] = arr[i]; arr[i] = temp; } } } return &arr[4]; } float* MIN(float arr[]) { float temp; for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) { if (arr[i] > arr[i + 1]) { temp = arr[i + 1]; arr[i + 1] = arr[i]; arr[i] = temp; } } } return &arr[0]; } float* AVERAGE(float arr[], int n) { static float average = 0; float sum = 0; for (int i = 0; i < n; i++) { sum = sum + arr[i]; } average = sum / n; return &average; } int main() { int n = 0; float arr[5] = { 0 }; scanf("%d", &n); for (int i = 0; i < 5; i++) { scanf("%f", &arr[i]); } float* max = MAX(arr); float* min = MIN(arr); float* average = AVERAGE(arr, n); printf("%.2f %.2f %.2f", *max, *min, *average); return 0; }