本帖最后由 傻眼貓咪 于 2021-11-14 16:25 编辑 #include <stdio.h>
#include <stdlib.h>
int sort(const void * elem1, const void * elem2) // 定义函数:用于进行排序
{
int f = *((int*)elem1);
int s = *((int*)elem2);
if (f > s) return 1;
if (f < s) return -1;
return 0;
}
int main()
{
int arr[10], A = 0, B = 0, C = 0, D = 0, E = 0;
float sum = 0;
for(size_t i = 0; i < 10; i++) scanf("%d", &arr[i]);
qsort(arr, sizeof(arr)/sizeof(*arr), sizeof(*arr), sort); // 排序
for(int i = 0; i < 10; i++){
sum += arr[i];
if(arr[i] >= 90) A++;
else if(arr[i] >= 80) B++;
else if(arr[i] >= 70) C++;
else if(arr[i] >= 60) D++;
else E++;
}
sum /= 10;
printf("最高分:%d\n", arr[9]);
printf("最低分:%d\n", arr[0]);
printf("平均分数:%f\n", sum);
printf("优秀%d人\n良%d人\n中%d人\n及格%d人\n不及格%d人\n", A, B, C, D, E);
return 0;
}
输入/输出:18
99
75
65
23
86
45
55
12
2
最高分:99
最低分:2
平均分数:48.000000
优秀1人
良1人
中1人
及格1人
不及格6人
|