首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。 注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。 注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。 注意:部分源程序给出如下。 请勿
admin
2017-09-23
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},
{"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全国计算机二级
相关试题推荐
在C语言中,变量的隐含存储类别是()。
以下选项中,合法的一组C语苦数值常量是()。
诊断和改正程序中错误的工作通常称为()。
已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是()。
若定义函数int*func(),则函数func的返回值为()。
若x=2,y=3,则x&y的结果是()。
若i、j已定义成int型,则以下程序段中内循环体的总执行次数是()。for(i=6;i>0;i--)for(j=0;j<4.j++){…}
运行下面的程序,输入字符串MicrosoftVisualStudio,则程序的执行结果是()。#include<stdio.h>main(){charChr[20];scanf("%s",&Chr);p
下面程序的运行结果是()。y=5;x=14;y=((x=3*y,x+6),x-1);printf("x=%d,y=%d”,x,y);
当把4个表达式用做if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是()。
随机试题
在我国的教育法体系中,全部教育法规的“母法”是()
公共关系公司的咨询诊断业务
氨茶碱属于
A.责令停产、停业整顿,并处5000元以上2万元以下的罚款B.处2万元以上10万元以下的罚款C.处1万元以上3万元以下的罚款D.处违法生产的药品货值金额2倍以上5倍以下的罚款E.处违法生产的药品货值金额1倍以上3倍以下的罚款未取得《药品
某女,62岁,慢性精神病患者,认为一著名节目主持人播放当地新闻时劝说她去做坏事,并且只有她自己能够明白。请问这是什么精神症状?
施工项目成本管理需要采取各种措施,属于成本管理经济措施的有()。
未分配利润将转入下期分配。()
劳动群众集体所有制经济是由()共同占有生产资料的一种公有制形式。
Anyonegoingintoabar,whetherthey______suspicionornot,willbeaskedtotakeatest,whichhighlightsanydruguse.
VirusesFindNewWaystoWormintoComputersJustwhenyouthoughtyouknewacomputervirusorwormwhenyousawone,seve
最新回复
(
0
)