首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 注意:部分源程序在文件PROG1.C中
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 注意:部分源程序在文件PROG1.C中
admin
2018-09-27
58
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #define N 16
3 typedef atruct
4 { char num[10];
5 int s;
6 } STREC;
7 int fun(STREC *a,STREC *b]
8 {
9
10 }
11 main()
12 {STREC s[N]=({’’GA05’’,85},{’’GA03¨,76},{’’GA02’’,69},{’’GA04’’,85},{.tGAOl”,91},{’’GA07’’,72},{’’GA08’’,64},{’’GA06”,87},{’’GAOl5’’,85},{’’GAOl3’’,91},{’’GA012’’,64),{”GAOl4”,91),{’’GA011’’,77},{’’GAOl7’’,64),{’’GA018’’,64},{’’GA016’’,72}};
13 STREC h[N];
14 int i,n;FTLE *out;
15 n=fun(s,h);
16 printf(’’The%d highest score:\n’’,n);
17 for(i=0;i<n; i++)
18 printf(’’%s %4d\n’’,h
.num,h
.s);
19 printf(’’\n’’);
20 out=fopen(’’out.clat’’,’’w’’);
21 fprintf(out,’’%d\n’’,n);
22 for(i=0;i<n;i++)
23 fprintf(out,’’%4d\n’’,h
.s);
24 fclose(out);
25 }
选项
答案
1 int i,max=a[0].s,n=0; 2 for(i=1;i<N; i++) 3 if(max<a[i].s)max=a[i].s;/*找出最高成绩*/ 4 for(i=0;i<N;i++) 5 if(max==a[i].s)b[n++]=a[i];/*找相等的最高成绩并存入数组b中*/ 6 return n; /*返回符合条件的人数*/
解析
程序功能是把分数最高的学生数据放在h所指的数组中。
(1)要把最高分数的学生数据放在数组中,首先求出最高分数,再使用一个for循环把所有的成绩进行比较,找出最高的分数来。
(2)找出所有与最高分数相等的学生,并将最高分数的人数累加。
转载请注明原文地址:https://www.kaotiyun.com/show/aAxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<string.h>structSTU{charname[10];intnum;};voidf(char*name,intnum){structSTU
以下程序的输出结果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf("%d\n",a
下面程序main(){intx=32;printf("%d\n",x=x<<1);}的输出是______。
下列程序段中循环体的执行次数是______。 int x=-12; while (x=0) x=x+1;
设有如下程序段:intx=2002,y=2003;printf(“%d\n”,(x,y));则以下叙述中正确的是
有以下程序 main() {char s[]={"aeiou"},*ps; ps=s; printf("%c\n",*ps+4); } 程序运行后输出的结果是______。
有以下程序#include.<string.h>main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));}程序运行后的输出结果是
常采用的两种存储结构是()。
已知字母A的ASCII码为65。以下程序运行后的输出结果是【】。main(){chara,b;a=’A’+’5’-’3’;b=a+’6’-’2’;printf("%d%c\n",a,B);}
数据库系统中实现各种数据管理功能的核心软件称为【】。
随机试题
在Windows的中文输入方式下,在几种中文输入方式之间切换应按Ctrl+Shift组合键。()
拟做宫颈刮片或阴道分泌物涂片细胞学检查时,可用的润滑剂是()。
在下列项目中,属于负债类会计科目的是()。
下列公司组织机构中关于公司职工代表的表述中,不符合《公司法》规定的是()。
甲从A地步行到B地,出发1小时40分钟后,乙骑自行车也从A地出发,骑了10公里时追到甲。于是,甲改骑乙的自行车前进,共经5小时到达B地,这恰是甲步行全程所需时间的一半。问骑自行车的速度是多少公里/小时?(甲、乙骑自行车速度一样)()
旅游投诉管理机关处理投诉案件的原则应该是()。
关于培训评估,下列说法错误的是()。
围民革命军陆军新编第四军实质上是不受国民政府指挥的中共军事力量。()
运动会将准时开始,除非天下雨。以下断定中与上述断定含义相同的是:Ⅰ.如果天下雨,则运动会不会准时开始。Ⅱ.如果运动会准时开始,则天没下雨。Ⅲ.如果天不下雨,运动会将准时开始。
结合材料回答问题:材料1任何过程如果有多数矛盾存在的话,其中必定有一种是主要的,起着领导的、决定的作用,其他则处于次要和服从的地位。因此,研究任何过程,如果是存在着两个以上矛盾的复杂过程的话.就要用全力找出它的主要矛盾。捉住了这个主要矛盾,一切问
最新回复
(
0
)