学生的记录由学号和成绩
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中。注意,分数最低的学生可能不止一个,函数返回分数最低的学生的人数。
注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#define N 16
typedef struct
{charnum[10];
int s;
}STREC;
intfun(STREC *a,STREC *b)
{
}
main()
{
STREC s[N]={{"GA05",85},{"GA03",76},
{"GA02",69},{"GA04",85},
{"GA01",91},{"GA07",72},
{"GA08",64},{"GA06",87},
{"GA015",85},{"GA013",91},
{"GA012",64},{"GA014",91},
{"GA011",91},{"GA017",64},
{"GA018",64},{"GA016",72}};
STREC h[N];
int I,n;
FILE *out ;
n=fun(s,h);
printf("The %d lowest score :\n",n);
for(i=0;i
printf("%s %4d\n",h[i].num,h[i].s);
printf("\n");
out=fopen("out24.dat","w");
fprintf(out,"%d\n",n);
for(i=0;i
fprintf(out,"%4d\n",h[i].s);
fclose(out);
}【答案】
int fun(STREC *a,STREC *b)
{
int j,n=0; double min=100.0;
for(j=0;j
if(min>a[j].s)
min=a[j].s;
for(j=0;j
if(a[j].s==min)
b[n++]=a[j];
return n;
}