1、全国计算机等级考试三级信息管理技术机试真题 2008年 4月及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.下列程序的功能是:已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入 a数组中。找出成绩最高的学生记录(假定最高成绩的记录是唯一的),通过形参返回。请编写函数 mmm(STU a,STU*s)实现程序要求,最后调用函数 reawriteDAT()把结果输出到文件 out.dat中。例如:KS01 87KS09 67KS11 97则调用该函数后,输出 The lowest:KS09,67。注意:部分源程序已给出。请勿改动主函数
2、main()和函数 readwriteDAT()的内容。试题源程序#includestdioh#includestringh#includeconioh#define N 10void readwriteDat();typedef struct sschar num10;int s;STU;void mmm(STU a口,STU*s)main()(STU aN=“A01“,81,“A02“,89,“A03“,81),“A04“,66),“A05“,87),“A06“,77),“A07“,79,“A08“,61,“A09“,80),“A10“,71),m;int i;system(“cls“);
3、printf(“*The original data*/n“);for(i=0;iN;i+)printf(“No=%s Mark=%d/n“,ainmu/n,ais);mmm(a,wf=fopen(“outdat“,“w“);for(i:0;i10;i+)fscanf(rf,“%s%d“,ainum,ais);mmm(a,m);fprintf(wf,“The lowest:%s,%d/n“,m.num,ms);fclose(rf);fclose(wf);(分数:100.00)_全国计算机等级考试三级信息管理技术机试真题 2008年 4月答案解析(总分:100.00,做题时间:90 分钟)一、上
4、机题(总题数:1,分数:100.00)1.下列程序的功能是:已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入 a数组中。找出成绩最高的学生记录(假定最高成绩的记录是唯一的),通过形参返回。请编写函数 mmm(STU a,STU*s)实现程序要求,最后调用函数 reawriteDAT()把结果输出到文件 out.dat中。例如:KS01 87KS09 67KS11 97则调用该函数后,输出 The lowest:KS09,67。注意:部分源程序已给出。请勿改动主函数 main()和函数 readwriteDAT()的内容。试题源程序#includestdioh#includestrin
5、gh#includeconioh#define N 10void readwriteDat();typedef struct sschar num10;int s;STU;void mmm(STU a口,STU*s)main()(STU aN=“A01“,81,“A02“,89,“A03“,81),“A04“,66),“A05“,87),“A06“,77),“A07“,79,“A08“,61,“A09“,80),“A10“,71),m;int i;system(“cls“);printf(“*The original data*/n“);for(i=0;iN;i+)printf(“No=%s
6、Mark=%d/n“,ainmu/n,ais);mmm(a,wf=fopen(“outdat“,“w“);for(i:0;i10;i+)fscanf(rf,“%s%d“,ainum,ais);mmm(a,m);fprintf(wf,“The lowest:%s,%d/n“,m.num,ms);fclose(rf);fclose(wf);(分数:100.00)_正确答案:(void mmm(STU a,STU*s)int i:s-s=a0s;for(i=1;iN;i+)if(aiss-s)*s=ai;)解析:解析 本题考查的是查询最小值问题。本题的关键在于结构体变量的使用以及指针的使用,结构体的成员变量为 ais 而结构体指针的成员变量为 s-s。用一个 for循环遍历结构体数组 a中的结构体,内嵌 if语句使指针 s指向扫描过所有结构体中成员变量 s最小的结构体,这样遍历完所有的结构体后,指针 s就指向结构体成员变量 s最小的结构体。