关于#c语言#的问题,请各位专家解答!

img

img


Pat1004成绩排名,输入成绩,输出倒一和第一
该代码总是运行时出错

16、17行的i应该改为i-1啊
而且姓名,学好在同一行,是不能用gets的,gets直接接收一行数据
改为
scanf("%s%s%d",stu[i-1].name,stu[i-1].xuehao,&stu[i-1].score);

修改如下,供参考:

#include <stdio.h>
int main()
{
    typedef struct{
        char name[11];  //修改 name[10]
        char xuehao[11];//修改 xuehao[10]
        int  score;
    }stu;
    int num,min=0,max=0;
    stu stud[10];
    scanf("%d", &num);
    for (int i = 0; i < num; i++)
    {
        scanf("%s %s %d",stud[i].name,stud[i].xuehao,&stud[i].score);//修改
        if (stud[i].score > stud[max].score)
            max = i;
        if (stud[i].score < stud[min].score)
            min = i;
    }
    printf("%s %s\n",stud[max].name,stud[max].xuehao);
    printf("%s %s",  stud[min].name,stud[min].xuehao);
    return 0;
}