首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。 注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。 注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿
admin
2017-09-23
63
问题
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。
注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include < stdio.h >
#define N 1 6
typedef struct
{
char hum[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
.
nHin,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 < a[i].s)/*找出最大值*/ max =a[i].s; for(i=0;i < N;i++) if(max==a[i].s) b[j++]=a[i]; /*找出成绩与max相等的学生的记录,存入结构体b中*/ return j; /*返回最高成绩的学生人数*/ }
解析
本题考查:结构体数组操作;用循环判断结构查找数组中的最大值。
该程序使用两个循环判断语句,第1个循环判断语句的作用是找出最大值;第2个循环判断语句的作用是找出与max相等的成绩(即最高成绩)的学生记录,并存入b中。
对于如何找出数组中最大值(多个相等)的方法,我们已经不陌生。如何对结构体数组进行类似操作呢?
掌握以下语句:
if (max < a
.s) max =a
.s;
转载请注明原文地址:https://kaotiyun.com/show/bzxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设x为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为()。
两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是()。#include<stdio.h>main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);
设q1和q2是指向一个int型一维数组的指针变最,k为float型变量,下列小能正确执行的语句是()。
下面程序的输出结果是()。#include<stdio.h>main(){chara[]={’a’,’b’,’c’,’d’,’f’,’g’},*p;p=a;printf("%c\n",*p+4);}
以下叙述错误的是()。
以下程序的输出结果是()。#include<stdio.h>main(){inta=8,b=6,m=1;switch(a%4){case0:m++;break;case1:m++;
定义inta=5,b=20;若执行语句printf("%d\n",++a*--b/5%13);后,输出的结果为()。
已知下列函数定义:fun(int%,intc,intn,intdatA){intk;for(k=0;k<m*n;k++){*b=data;b++;}}则调用此函数的正确写法是(假设变量a的说明为int
数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、()和处理过程。
下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!=’c’)s[j++]=
随机试题
试述心理测验的主要用途并联系实际说明其在学校教育领域中的应用。
勤的考评主要包括
患者一日尿量在4000ml以上,尿比重为1.028,下列哪种情况的可能性最大
湿温,症见身热心烦,渴不多饮,脘痞,呕恶,便溏,尿短黄,苔黄腻,脉濡数,其辨证为
在FIDIC《施工合同条件》中,承包商可以同时提出工期和费用索赔的事件包括( )等。
下列关于商业银行销售综合理财产品的要求的说法,不正确的是()。
邓小平认为,坚持社会主义,实行()的原则,就不会产生过大的贫富差距。
地缘政治学是地理和政治的结合体,又称地理政治学。它关注地理学对国际政治的特征、历史、结构尤其是与他国关系的影响,把地理因素视为影响甚至决定国家对外政治决策的一个基本因素,并依据这些地理因素和政治格局的地域形成,分析预测世界或地区范围的战略形势及有关国家的政
反诉:是指在已经开始的民事诉讼中,被告向审判机关提出的旨在使原诉被撤销或失去作用的反请求。反诉中的被告即是本诉的原告,反诉最迟应在本诉判决之前提起。反诉只能向审理本诉的审判机关提起,反诉与本诉的诉讼标的或诉讼理由应当具有牵连的关系。根据上述定义,
NinetypercentofAmericansknowthatmostoftheircompatriotsareoverweight,butjust40percentbelievethemselvestobetoo
最新回复
(
0
)