一道简单的C语言编程题,输出最大和最小的成绩,但是为什么编译器说答案部分正确啊

2024-12-30 19:53:03
推荐回答(1个)
回答1:

#include
#define MAX 100

typedef struct {
char name[20];
char numbers[20];
int grades;
}students;

int main() {
int num, i, imax, imin;
scanf("%d", &num);
students stu[MAX] = { 0 };
for (i = 0; i < num; ++i) {
scanf("%s %s %d", stu[i].name, stu[i].numbers, &stu[i].grades);
}
imax = imin = 0;
for (i = 1; i < num && i < MAX; ++i) {
if (stu[i].grades > stu[imax].grades) imax = i;
if (stu[i].grades < stu[imin].grades) imin = i;
}
printf("最好的成绩是:%d\n",stu[imax].grades);
printf("最差的成绩是:%d\n",stu[imin].grades);
return 0;
}