总是答案错误,求错误处

img

img


#include <stdio.h>
#include "math.h"
struct stu{
int score[3];
char name[9];
};
int main(){
struct stu a[99];
int x =0,i,j;
scanf("%d",&x);
for (i = 0; i < x; i++) {
scanf("%s",&a[i].name);
for(j=0;j<3;j++){
scanf("%s",&a[i].score[j]);
}
}
int av,sum = 0;
for (i = 0; i < x; i++){
for ( j = 0; j < 3; j++) {
sum += a[i].score[j];
}
}
av = sum/x;
printf("%.2f\n",av);
for ( i = 0; i<x; i++){
for(j=0;j<3;j++){
printf("%s %d %d %d %.2f\n", a[i].name, a[i].score[j],a[i].score[j],a[i].score[j],av);
}
}
}

分数输入%s改为%d,输出没有逆序,没有分别计算平均值,并且小于60的不输出


#include <stdio.h>
#include "math.h"
struct stu{
int score[3];
char name[9];
};
int main(){
struct stu a[99];
int x =0,i,j;
scanf("%d",&x);
for (i = 0; i < x; i++) {
scanf("%s",&a[i].name);
for(j=0;j<3;j++){
scanf("%d",&a[i].score[j]);
}
}
for (i = x-1; i >= 0; i--){
    float av,sum = 0;
    for ( j = 0; j < 3; j++) {
        sum += a[i].score[j];
    }
    av = sum/3;
    if(av>=60){
        printf("%s %d %d %d %.2f\n", a[i].name, a[i].score[0],a[i].score[1],a[i].score[2],av);
    }
}
}