#define N 5
#include<stdio.h>
struct Student
{
int xuehao;
char name[20];
int s1,s2,s3;
};
int main()
{
Student stu[N];
int i,min,k=0;
printf("请输入学生的学号,姓名,3门课成绩:\n");
for( i=0;i<N;i++)
scanf("%d%s%d%d%d",&stu[i].xuehao,stu[i].name,&stu[i].s1,&stu[i].s2,&stu[i].s3);
min=stu[0].s1+stu[0].s2+stu[0].s3;
for(i=0;i<N;i++)
{
if((stu[i].s1+stu[i].s2+stu[i].s3)<= min)
k=i;//论变量初始化的关键,太细节了!!!
}
printf("平均成绩最低的为:\n%d,%s,%d,%d,%d\n",stu[k].xuehao,stu[k].name,stu[k].s1,stu[k].s2,stu[k].s3);
return 0;
}
因为没有变量初始化,导致第4个排序一直出错!
将k=0初始化后问题消失。