首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿改动主函数main
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿改动主函数main
admin
2021-07-09
60
问题
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 16
typedef struct
{
char num[10];
int s;
}STREC;
int fun(STREC*a,STREC*b)
{
}
void main()
{
STREC S[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},{"GA011",77},{"GA017",64},{"GA018",64},{"GA016",72}};
STREC h[N];
int i,n;
n=fun(s,h);
printf("The%d highest score:\n",n);
for(i=0 ;i<n;i++)
printf("%s%4d\n",h
.num,h
.s);/*输出最高分学生的学号和成绩*/
printf("\n");
}
选项
答案
int fun(STREC*a,STREC*b) { int i,j=0,max=a[0].s; for(i=0;i<N;i++) if(max
解析
本题考查:结构体数组操作;用循环判断结构查找数组中的最大值。
该程序使用两个循环判断语句,第1个循环判断语句的作用是找出最大值;第2个循环判断语句的作用是找出与max相等的成绩(即最高成绩)的学生记录,并存入b中。
对于如何找出数组中最大值(多个相等)的方法,我们已经不陌生。如何对结构体数组进行类似操作呢?
掌握以下语句:
for(i=0;i<N;i++)
if(max<a
.s)max=a
.s;
转载请注明原文地址:https://kaotiyun.com/show/pokp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序structS{inta,b;)data[2]={10,100,20,200};main(){structSp=data[1];printf("%d\n",++(p.a));)程序运行后的输出结果是
设表的长度为n。在下列结构所对应的算法中,最坏情况下时间复杂度最低的是
有下列程序:main(){intx[3][2]={0},i;for(i=0;i<3;i++)scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]
设有定义语句:char*aa[2]={"abcd","ABCD"};则以下叙述正确的是
以下叙述中正确的是
若有定义“intx,y;”并已正确给变量赋值,则下列选项中与表达式“(x-y)?(x++):(y++)”中的条件表达式“(x-y)”等价的是()。
下列选项中,不属于数据管理员(DBA)职责的是()。
以下选项中,不合法的C语言用户标识符是()。
关于位运算的叙述中正确的是()。
在E—R图中,用来表示实体联系的图形是()。
随机试题
多级离心泵设备底座面外缘不得越出基础边缘,一般应有20~30mm空余。
X-连锁无丙种球蛋白血症白细胞黏附功能缺陷
禁食24小时后,体内葡萄糖来源于体内蛋白质的糖异生,每日约耗损蛋白
联合体主办人所承担的工程()。
()是建设项目管理的基础。
1974年联合国大会通过了《建立国际经济新秩序宣言》,这种秩序将建立在所有国家的公正、主权平等、互相依靠、共同利益和合作的基础上。()
[2007年]设函数f(x,y)连续,则二次积分∫π/2πdx∫sinx1f(x,y)dy等于().
Americansnolongerexpectpublicfigures,whetherinspeechorinwriting,tocommandtheEnglishlanguagewithskillandgift.
A、Sheisenrolledinamaster’sdegreecourseatpresent.B、Sheisworkingonabachelor’sdegreeforthesecondyear.C、Shedid
Scientistsfindthathard-workingpeoplelivemuchlongerthanaveragemenandwomen.Careerwomenarehealthierthanhousewives
最新回复
(
0
)