首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组S中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿改
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组S中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿改
admin
2018-03-28
25
问题
学生的记录由学号和成绩组成,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);
下列程序的输出结果是()。main(){inta=4,b=5,c;if(a<b){c=a*b;printf("%d,%d,%d\n",b,a,c);}else{c=b/a;printf
以下程序的输出结果是() main() {staticchara[10]={"Chinese"}; printf("%d",strlen(a)); }
下面程序的运行结果是()。#include<stdio.h>main(){staticchara[]="Languagef",b[]="programe";char*p1,*p2;intk;
函数rewind的作用是
设有定义:int a; float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0<回车>, a和b的值分别是______。
以下叙述中错误的是()。
若有以下定义,则正确的swish语句是______。floatx;inta,b;
若要求从键盘读入含有空格字符的字符串,应使用函数
随机试题
确定广告预算应考虑的因素包括()
在医学上,产后42天称作
确定抗渗混凝土强度等级的根据是()。
商业银行的职能包括()。
投资估算与资金筹措安排情况不包括()。
下列诗句中,描写抗美援朝这一历史事件的是()。
人的身高是生物学性状之一。一直以来,人们认为身高主要是遗传,饮食和环境因素综合决定的。但是,在人类认识了基因的作用后,开始认为基因在决定身高中占主要作用、于是在人类基因组计划完成后,开始寻找与身高相关的基因,并获得其与健康、疾病等有关的信息和知识。接下来最
人类所需能量大部分来自太阳,下列不属于人直接利用太阳能的主要形式是()。
可以附加适用的刑事制裁手段有()
ICMP协议在网络中起到了差错控制和交通控制的作用。如果在IP数据报的传送过程中,如果出现网络拥塞,则路由器发出(27)报文。
最新回复
(
0
)