首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 注意:部分源程序在文件PROG1.C中
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 注意:部分源程序在文件PROG1.C中
admin
2017-07-27
45
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #define N 16
3 typedef struct
4 { char num[10];
5 int s;
6 } STREC;
7 int fun(STREC *a,STREC *b)
8 {
9
10 }
11 main()
12 { STREC s[N]={{’’CA05’’,85},{’’GA03’’,76},{’’GA02’’,69},{’’GA04’’,85),{’’GA01’’,91},{’’GA07’’,72},{’’GA08’’,64},{’’GA
06’’,87},{’’CA015’’,85},{’’CA013’’,91},{’’GA012’’,64},{’’GA014’’,91},{’’GA011’’,77},{’’GA017’’,64},{’’GA018’’,64},{’’GA016’’,72}};
13 STREC h[N];
14 int i,n;FILE *out;
15 n=fun(s,h);
16 printf(’’The%d highest score:\n’’,n);
17 for(2=0;i<n;i++)
18 printf(’’%s %4d\n’’,h
.num,h
.s);
19 printf(’’\n’’);
20 out=fopen(’’out.dat’’,’’w’’);
21 fprintf(out,’’%d\n’’,n);
22 for(i=0;i<n; i++)
23 fprintf(out,’’%4d\n’’,h
.s);
24 fclose(out);
25 }
选项
答案
1 int i, max=a[0].s, n=0; 2 for(i=1; i<N; i++) 3 if(max<a[i].s)max=a[i].s;/*找出最高成绩*/ 4 for(i=0; i<N; i++) 5 if(max==a[i].s)b[n++]=a[i];/*找相等的最高成绩并存入数组b中*/ 6 return n; /*返回符合条件的人数*/
解析
程序功能是把分数最高的学生数据放在h所指的数组中。
(1)要把最高分数的学生数据放在数组中,首先求出最高分数,再使用一个for循环把所有的成绩进行比较,找出最高的分数来。
(2)找出所有与最高分数相等的学生,并将最高分数的人数累加。
转载请注明原文地址:https://kaotiyun.com/show/q7Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
一棵二叉树的前序遍历结果是ABCEDF,中序遍历结果是CBAEDF,则其后序遍历的结果是()。
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。voidbubble(inta[],intn){inti,j,max,temp;max=n-1;do{j=0;for(i=0;i<max;i++)
有以下程序:#include<stdio.h>#include<string.h>main(){chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’h’,’\0’};inti,j;i=sizeof(A);j
以下程序的运行结果是()。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(A;printf("%f\n",C);}
下面程序的功能是:输出100以内能被3整除且个位数为9的所有整数,清填空。main(){inti,j;for(i=0;();i++){j=i*10+9;if(j%3!=0)continue;print
有以下程序:intf1(doubleA){returna*a;}intf2(intx,inty){doublea,b;a=f1(x);b=f1(y);returna+b;}mai
设有如下定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。
字符串"%%\"ABCDEF\"\\"的长度是()。
在下列选项中,没有构成死循环的是()。
C语言源程序名的后缀是()。
随机试题
Whatisthewomangoingtodothisafternoon?
患者女,中风后遗症2年余,右上肢肌力2级,右下肢肌力4级,有一定平衡能力,可在辅助下步行,患者睁眼时指鼻正常,闭眼时不能,出现闭目难立征。静态平衡评定方法为
建设部工程质量管理条例中规定,施工单位在施工中偷工减料的,使用不合格的建筑材料、建筑构配件和设备的行为的,责令改正,处工程合同价款2%以上4%以下的罚款。()
检验批和分项工程是建筑工程施工质量基础,因此,所有检验批和分项工程均应由()组织验收。
延迟完全可以忽略,适用于实时、大批量、连续数据传输的交换方式是()。
有价证券具有()的经济和法律特征。
感知的规律主要有()。
个性的调节系统以自我意识为核心。个性的产生和发展与自我意识的产生和发展密切相关,也可以说,自我意识是个性形成和发展的前提。()
设森林F对应的二叉树为B,它有m个结点,B的根为P,P的右子树结点个数为n,森林F中第一棵树的结点个数是()。
使用PERT图进行进度安排,不能清晰地描述(4),但可以给出哪些任务完成后才能开始另一些任务。下面PERT图所示工程从A到K的关键路径是(5)(图中省略了任务的开始和结束时刻)。(4)
最新回复
(
0
)