已知考生的记录由学号和学习成绩构成,N名考生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的考生记录,通过形参返回主函数(规定只有一个最低分)。已给予出函数的首部,请完成该函数。 注意:部分源程序已存在文件test8_2.cpp中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 文件test8_2.cpp的内容如下: #include<iostream.h> #include<string.h> #include<conio.h> #define N 10 typedef struct ss {char num[10]; int s; } STU; void fun(STU a[],STU *s) { } void main( ) {STU a[N]={{"A01”,81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90},{"A07",79}, {"A08",61},{"A09",80},{"A10",71}},m; fun(a,&m); cout<<"***** The original date *****"<<endl;cout<<"The lowest :"<<m.num<<m.s<<endl; }
参考答案:
解析:fun(STU a[],STU *s) { int i,min; min=a[0].s; for(i=0;i<N;i++) if(a[i] .s<min) {min=a[i].s; *s=a[i]; } } 首先假设第一个考生的成绩最优,通过循环找到最低成绩,并将最低成绩的考生记录传给指针s,带回主函数。