题目内容:
学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数[)roc(),它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。例如,输入的分数是70~79,则应当把分数在70~79 的学生数据进行输出,包含70分和79分的学生数据。主函数中把70放在low中,把79放在heigh中。
注意:部分源程序给出如下。
清勿改动main()函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#define M 16
typedef struet
{ char num[10];
int s;
}
STREC:
int proc(STREC*a,STREC*b,int 1,int h)
{ } void main()
{
STREC stu[M]={{"GA005",85},{"GA003",
76},
{"GA002",69},{"GA004",85),{"GA001",96),
{"GA007",72),{"GA008",64),{"GA006",87},
{"GA015",85},{"GA013",94),{"GA012",64),
{"GA014",91},{"GA011",9O),{"GA017",64),
{"GA018",64),{"GAOl6",72));
STREC h[M];
int i,n,low,heigh,t;
printf("Enter 2 integer number low&
heigh:");
scanf("%d%d",&low,&heigh);
if(heigh<low)
{t=heigh;heigh=low;low=t;)
n=proc(stu,h,loW,heigh):
printf("The student’S data between
%d--%d:\n",low,heigh);
for(i=0;i<n;i++)
printf("%s%4d\n",hi-i].num,h[i].s);
//输出指定分数范围内的学生记录
printf("\n"):
}
参考答案:
答案解析: