帮忙看看哪错了
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。
#include<stdio.h>
#define M 5
struct student
{
int number;
float score;
};
int fun(struct student *h,struct student *stud)
{
int min=0,k,num=0,m=0;
for(k=0;k<M;k++)
if(stud[k].score<stud[min].score)
min=k;
h[m]=stud[min];
num++;
for(k=0;k<M;k++)
if(stud[k].score==stud[min].score&&min!=k)
{
h[++m]=stud[k];
num++;
}
return num;
}
void main()
{
struct student h[5],s[M];
int k;
printf("input number and score:");
for(k=0;k<M;k++)
scanf("%d%f",&s[k].number,&s[k].score);
printf("jie guo:%d",fun(h,s));}
执行后我刚刚输入:1 85程序就自动退了出来并出现错误提示:
scanf:floating point formats not linked
Abnormal program termination
我试着将结构体类型中的float 改为int ,scanf中的%f改为%d竟然对了,都把我弄糊涂了,请高人指点