首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。 注意:部分源程序存在文件PROGl.C中。 请勿
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。 注意:部分源程序存在文件PROGl.C中。 请勿
admin
2019-09-02
73
问题
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。
注意:部分源程序存在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<string.h>
#defiFie N 10
typedef struer ss
{ char num[10];int s;}STU;
fun(STU a[],STU*s)
{
}
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;
int i;
printf("*****The originaldata *****\n"),
for(i=0; i<N;i++)printf("No=%s Mark=%d\n",a
.num,a
.s);
fun(a,&m);
printf ("*****THE RESULT*****\n");
printf("The top:%s,%d\n",m.num,m.s);
NONO();
}
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*rf,*wf;
STU a[N],m;
int i;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i =0 ; i < 10; i++)fscarlf(rf, "%s %d", a
.mum,&a
.s);
fun(a,&m);
fprintf(wf,"The top :%s,%d\n", m.num, m.s);
fclose(rf);
fclose(wf);
}
选项
答案
int i,max=a[0].s,j=0; for(i=1;i<N;i++) if(max<a[i].s){ j=i; max=a[i].s;} *s=a[j];
解析
该程序功能是求最高分数的学生。本题是关于求解结构体中某些成员的最大值,首先将第一个值设定为最大值,并在循环中将其他所有值与该值进行比较,求得最大值。然后将最大值与所有值进行比较,求得所有的最大值。
转载请注明原文地址:https://www.kaotiyun.com/show/GORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串:123412132,输入字符为:1,则输出:3。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何
给定程序MODI1.C中函数fun的功能是:删除P所指字符串中的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用’#’结束输入。请改正程序中的错误,使它能输出正确的结果。注意:不要改动main函数,不得增行或删行,也
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序在文件PROG1:
阅读以下程序#includemain(){intcase;floatprintf;printf("请输入2个数:"):scanf("%d%f",&case,&printF);printf("%d%f\n",case,printF);}
有以下程序#includevoidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){charss[10]="ace",aa[10]="bbxxyy";
有以下程序#includevoidf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf("%d,%d",m,n);}voidf(int*p,int*q){p=
有以下程序voidfun(char*S){chara[10];strepy(a,"STRING");S=a;}main(){char*p="PROGRAM";fun(P);一printf("%s\n,p);}.程序运行后的输出
有下列程序:#includevoidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+1;j<n;j++)if(a[
若要求从键盘读入含有空格字符的字符串,应使用函数
有3个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
随机试题
民事义务依义务人行为的方式或者内容可划分为积极义务和消极义务,下列各项中,属于消极义务的有()。
下列选项中,属于外部招募特点的是()。
调查报告的主要特点是()
A.包扎疗法B.暴露疗法C.开放疗法D.湿敷疗法E.浸泡疗法易造成交叉感染的方法是
经营单位持主管海关签发的“开设银行保证金台账联系单”,向主管海关指定的()办理保证金台账设立手续。
要求发行人在发行债券过程中,不仅要公开披露有关信息,而且必须符合一系列实质性的条件的是()制度。
“春秋三传”不包括下列哪一项?()
Whatshouldonedoifhewantstoworkmoreefficientlyathislowpointinthemorning?
A、ItwasestablishedinGeorgeWashingtonUniversityin1937.B、ItwasestablishedintheNationalMuseumofAmericanHistoryin
Would-belanguageteacherseverywherehaveonethingincommon:theyallwantsomerecognitionoftheirprofessionalstatusand
最新回复
(
0
)