首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。 注意:部分源程序存在文件PROGl.C中。 请勿
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。 注意:部分源程序存在文件PROGl.C中。 请勿
admin
2019-09-02
39
问题
已知学生的记录由学号和学习成绩构成,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://kaotiyun.com/show/GORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在C中。例如,当a=45,b=12时,调用该函数后,c=5142。注意:部分源程序存在文件PROG1.C中。数据文件in.dat中的数据不得修改。请勿改动主函数m
请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入"asdafaaz67",则输出为"asdafaaz67"。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在
请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。例如,原来的字符串为CEAedca,排序后输出为CedcEAa。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和
给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。规定在___2___处使fa指向函数f1,在___3___处使fb指向函数f2。当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=
请编写函数fun,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余依此类推,把
以下选项中表示一个合法的常量是(说明:符号口表示空格)
若有以下程序#includevoidsp(int*a){intb=2;a=&b;*a=*a*2;printf("%d,",*a);}main(){intk=3,*p=&k;sp(p);printf("%d,%d\
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
若X和Y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是
下面不属于软件需求分析阶段任务的是
随机试题
TherelationshipbetweenlanguagelearningstrategypreferencesandEnglishproficiencyamongstudentspuzzlesmanyEnglishlea
如何调整电热式转向灯闪光的快慢?
A.眶上裂综合征B.眶尖综合征C.眶下壁骨折D.眶上壁骨折E.眶内壁骨折眼球向下移位、内陷,并有固定性复视,很可能是
标签上必须印有规定标志的药品不包括
调整保留时间半高峰宽(半峰宽)
下列关于发票开具要求的表述中,错误的是()。
非法印制、倒卖完税凭证的,除由税务机关责令改正外,根据情节轻重,可能的惩罚措施有()。
2018年年初某企业房产原值共计5000万元、占地80000平方米,其中厂房原值3000万元、占地63000平方米,企业办学校、托儿所的房产原值合计为1200万元、占地共10000平方米,企业办招待所原值800万元、占地5000平方米,企业厂
在顾客对价格十分敏感的情况下,竞争基本上是在价格上展开的,此时采用()特别奏效。
结合材料回答问题:材料190年来,我们党团结带领人民完成和推进了三件大事。第一件大事,我们党紧紧依靠人民完成了新民主主义革命,实现了民族独立、人民解放。第二件大事,我们党紧紧依靠人民完成了社会主义革命,确立了社会主义基本制度。我们创造性地实现由
最新回复
(
0
)