用于计算学生五门课的平均成绩,最高分,最低分
为什么最后的两位学生的最低分运行结果不对
#include <stdio.h>
#define N 3
struct score {
float grade[5];
float avegrade, maxgrade, mingrade;
};
int main() {
int i;
struct score m[N];
printf("input the grade of five course:\n");
for (int j = 0; j < N; j++) {
for (i = 0; i < 5; i++)
scanf("%f", &m[j].grade[i]);//输入成绩
}
int j;
m[j].avegrade = 0;
m[j].maxgrade = m[0].grade[0];
m[j].mingrade = m[0].grade[0];
for (j = 0; j < N; j++) {
for (i = 0; i < 5; i++) {
m[j].avegrade += m[j].grade[i];
m[j].maxgrade = (m[j].grade[i] > m[j].maxgrade) ? m[j].grade[i] : m[j]. maxgrade;
m[j].mingrade = (m[j].grade[i] < m[j].mingrade) ? m[j].grade[i] : m[j]. mingrade;
}
}
for (j = 0; j < N; j++) {
m[j].avegrade /= 5;
}
for (j = 0; j < N; j++) {
printf("average=%5.lf maxgrade=%5.lf mingrade=%5.1f\n", m[j].avegrade, m[j].maxgrade, m[j].mingrade);
}
return 0;
}