当输入学生考号和成绩后,能够输出最高分和最低分及其对应的考号,并且计算平均分。
不想宏定义,应该这样改成任意输入呢?请各路大佬指点
struct Stu {
int id=0;
double score=0;
};
void sortScore(Stu s[N]) {
int i;
int min = 0, max = 0;
for (i = 1; i < N; i++) {
if (s[i].score > s[max].score) max = i;
if (s[i].score < s[min].score) min = i;
}
printf("最高分同学考号为%d 成绩为%.2lf\n", s[max].id, s[max].score);
printf("最低分同学考号为%d 成绩为%.2lf\n", s[min].id, s[min].score);
}int main() {
Stu s[N];
int i;
double aver = 0;
for (i = 0; i < N; i++) {
printf("请输入学生考号和成绩(空格隔开):");
scanf_s("%d%lf", &s[i].id, &s[i].score);
printf("\n");
aver += s[i].score;
}
printf("%.2lf\n", aver / N);
sortScore(s);
}