早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

下列程序的功能是:已知学生的记录由学号和三门学习成绩构成,N名学生的数据已有入 A数组中。找出各

题目

下列程序的功能是:已知学生的记录由学号和三门学习成绩构成,N名学生的数据已有入 A数组中。找出各科及格的学生中总成绩最高的学生记录(假定最高成绩的记录中唯一的),通过形参返回。

请考生编写函数mmm(STUa[],STU*s)实现程序的要求,最后调用函数readwritedat()把结果输出到文件out.dat中。

例如:

KS01 87 60 88

KS09 97 59 99

KS11 67 67 60

则调用该函数后,输出

the top:KS01,87, 60, 88

include <stdio.h>

include <string.h>

define N 10

void readwritedat ();

typedef struct ss{

char num[10];

int s1, s2, s3;

}STU;

mmm(STU a[],STU *s)

{

}

main ( )

{

STU a[N]={

{ "01", 81, 93, 92},

{ "02", 89, 65, 91},

{ "03", 66, 55, 73},

{ "04", 87, 91, 99},

{ "05", 77, 65, 91},

{ "06", 90, 55, 73},

{ "07", 79, 65, 91},

{ "08", 61, 55, 73},

{ "09", 80, 93, 92},

{ "10", 71, 65, 91}

}m;

int i;

for (i=0; i<N; i++ )

printf ("No=%s Mark=%d\n",a[i] .num, a[i] .s1,a[i] .s2,a[i].s3);

mmm (a, &m);

printf("the highest: %s,%d\n",m.num,m.s1+m.s2+m.s3);

readwritedat ( );

}

void readwritedat ( )

{

FILE *rf, *wf;

STU a[N] ,m;

int i;

rf=fopen ( "in. dat", "r" );

wf=fopen ( "out. dar", "w" );

for (i=0; i<10; i++)

fscanf (rf, "%s%d%d%d", a [i] .hum, &a[i] .s1, &a[i] .s2, &a [i] .s3);

mmm(a, &m);

fprintf(wf,"the top: %s,%d,%d,%d\n",m.num,m.s1,m.s2,m.s3);

fclose (rf);

fclose (wf);

}

参考答案
正确答案:mmm(STU a[]STU*s) { int i; STU h; /*初始化最高记录*/ h.s1=0; h.s2=0; h.s3=0; /*遍历所有记录*/ for(i=0; i10; i++) /*挑选合格记录*/ if(a[i].s1>=60&&a[i].s2>=60&&a[i].s3>=60) /*更新最高记录*/ if(h.s1+h.s2+h.s3a[i].s1+a[i].s2+a[i].s3) h=a[i]; /*返回最高记录*/ *s=h; }
mmm(STU a[],STU*s) { int i; STU h; /*初始化最高记录*/ h.s1=0; h.s2=0; h.s3=0; /*遍历所有记录*/ for(i=0; i10; i++) /*挑选合格记录*/ if(a[i].s1>=60&&a[i].s2>=60&&a[i].s3>=60) /*更新最高记录*/ if(h.s1+h.s2+h.s3a[i].s1+a[i].s2+a[i].s3) h=a[i]; /*返回最高记录*/ *s=h; } 解析:类型:结构体操作。
关键点:根据题目条件进行结构体比较和赋值。
1.遍历结构体数组。
2.进行条件判断。
3.计算相关量。
4.返回结果结构体
看了下列程序的功能是:已知学生的记...的网友还看了以下:

有一道小学数学思考题,我忘记怎么算了,玉梅的考试成绩单给小红弄污了.你能帮她算出数学成绩吗?语文\ 数学 2020-05-17 …

如图是六年级一次数学测试成绩统计图.成绩分为优、良、及格和不及格.已知不及格的有3人.(1)分别计 数学 2020-06-22 …

根据提供的数据,按要求回答问题.如图是六年级一次数学测试成绩统计图.成绩分为优、良、及格和不及格. 数学 2020-06-22 …

小红的期末考试成绩单不小心弄污了,你能帮她算出数学成绩来吗?英语91分,平均分9小红的期末考试成绩 数学 2020-06-23 …

某化工厂生产的纯碱产品中含有少量氯化钠工厂的化验员对每批产品进行检测标出各种成份后做不下去了 最多 化学 2020-06-27 …

某化工厂生产的纯碱产品中常含有少量氯化钠(化学题)38.(08四川眉山)(6分)某化工厂生产的纯碱 其他 2020-07-17 …

利用一维数组,统计一个班10名学生成绩0~59,60~69,70~79,80~89,90~100各 其他 2020-07-17 …

按要求写出各类成语各三个。1、表示“团结一致”的成语:2、表示思想集中的成语:3、描写课堂上讨论场 其他 2020-07-24 …

写出各组成语中带点字的不同含义.举世无双左顾右盼.写出各组成语中带点字的不同含义.举世无双左顾右盼. 语文 2020-11-07 …

工业上“侯氏”制碱法制得的纯碱产品中常含有少量的氯化钠,化验员对每批刚生产出的纯碱产品都要进行检测, 化学 2020-11-20 …