首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组S中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿改
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组S中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿改
admin
2018-03-28
42
问题
学生的记录由学号和成绩组成,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),{"
CA011",77),{"C|A017",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<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中。
对于如何找出数组中最大值(多个相等)的方法,我们已经不陌生。如何对结构体数组进行类似操作呢?
掌握以下语句:
for(i=0;i<N;i++)
if(max<a
.s)max=a
.s;
转载请注明原文地址:https://kaotiyun.com/show/Mxxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是()。#include<stdio.h>main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);
有以下程序:#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);
—个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈则元素出栈的顺序______。
请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 【】(double,double); main( ) {doublex,y; scanf("%lf%lf",&x,&y); printf("%lf\n",ma
有以下程序:#include<stdio.h>prt(int*m,intn)inti;for(i=0;i<n;i++)m[i]++;main()}inta[]={1,2,3,4,5},i;p
以下选项中正确的语句组是______。
以下叙述中错误的是()。
当执行以下语句后,函数strlen(str)返回的值是() staticcharstr[10]={”Change"};
有以下程序#includemain(){charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是
有下列程序段:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;下列选项中表达式的值为11的是
随机试题
我国社会主义初级阶段分配制度是()
患者女性,30岁,车祸头顶枕部着地,有10分钟意识不清。醒后头痛,左耳流血性脑脊液,四肢活动好,病理征(-)。诊断是
A.自主对羞愧的危机B.主动对内疚的危机C.勤奋对自卑的危机D.自我认同对角色紊乱的危机E.亲密对孤独的危机成人早期主要解决()
女性患者,28岁,产后24天出现畏寒、发热、右侧乳房疼痛。查体:右侧乳房皮肤红肿明显,可扪及一个压痛性硬块,同侧腋窝淋巴结肿大。下列处理措施中,不正确的是
在塑限滚搓法中,当土条搓至直径为5mm时,其产生裂缝并开始断裂,则这时土条的含水率即为土的塑限含水率。()
某拟建工业生产项目,基础数据如下:(1)建设投资5000万元(其中还无形资产600万元)。建设期2年,运营期8年。(2)资金来源为银行贷款和项目资本金,贷款总额为2000万元(不包括利息),在建设期内每年均匀投入1000万元。贷款年利
《关于消耗臭氧层物质的蒙特利尔协定书》是对消耗臭氧层的物质进行具体控制的全球性协定。该协定书实施以来,破坏臭氧层的氟氯化碳等气体在大气中的丰度逐渐降低。最近,由36个国家的近300位科学家对地球臭氧层进行了一项________,结果显示,根据该协定书采取的
若用8位机器码表示十进制数-101,则原码表示的形式为(8);补码表示的形式为(9)。
Abroadpublicdiscussionofenvironmentalproblemsbeganinthemid-1980s,whenthefirst"green"groupsformedinopposition
Google’sPlanforWorld’sBiggestOnlineLibrary:PhilanthropyOrActofPiracy?A)Inrecentyears,teamsofworkersdi
最新回复
(
0
)