首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已存放在主函数的结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 [注意] 部分源程序给出如下。 请勿改
学生的记录由学号和成绩组成,N名学生的数据已存放在主函数的结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 [注意] 部分源程序给出如下。 请勿改
admin
2010-11-26
80
问题
学生的记录由学号和成绩组成,N名学生的数据已存放在主函数的结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的花括号中填入所编写的若干语句。
[试题源程序]
#include<stdio.h>
#define N 8
typedef struct
{
char num[10];
double s;
}STREC;
double fun(STREC *a, STREC *b, int *n)
{
}
void main()
{
STREC s[N]={{"GA05", 85},
{"GA03", 76}, {"GA02", 69}, {"GA04", 85},
{"GA01", 91}, {"GA07", 72}, {"GA08", 64},
{"GA06", 87}};
STREC h[N], t; FILE *out;
int i, j, n;
double ave;
ave=fun(s, h, &n);
printf("The %d student data which is lower than %7.3 f:\n", n, ave);
for(i=0; i<n; i++)
printf("%s %4.1f\n", h
. num, h
.s);
printf("\n");
out=fopen("out.dat", "W");
fprintf(out, "%d\n%7.3f\n", n, ave);
for(i=0; 2<n-1; i++)
for(j=i+1; j<n; j++)
if(h
. s>h[j].s)
{
t=h
;
h
=h[j];
h[j]=t;
}
for(i=0; 2<n; i++)
fprintf(out, "%4.1f\n", h
.s);
fclose(out);
}
选项
答案
int fun(STREC *a, STREC *b, int *n) { double ave=0.0; int i, j=0; *n=0; for(i=0; i<N; i++) ave+=a[i].s; ave/=N; for(i=0; i<N; i++) if(a[i]. s<ave) { b[j]=a[i]; (*n)++; j++; } return ave; }
解析
本题的设计思路是:(1)定义两个变量,分别用于保存总分和平均值,定义循环变量并赋初值:(2)利用循环语句遍历所有学生的分数,累加求和并计算初值;(3)再次遍历结构体数组,找出低于平均分的分数,把该学生的记录保存在形参数组b中,并记录其个数;(4)用return语句返回平均值。
转载请注明原文地址:https://kaotiyun.com/show/LPID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
根据我国有关法律的规定,下列哪一行为是不合法的?()
标志中国共产党从幼稚走向成熟的事件是()。
养花专业户李某为防止偷花,在花房周围私拉电网。一日晚,白某偷花不慎触电.经送医院抢救,不治身亡。李某对这种结果的主观心理态度是什么?()
有一位百岁老人出生于二十世纪,2015年他的年龄各数字之和正好是他在2012年的年龄的各数字之和的三分之一,问该老人出生的年份各数字之和是多少(出生当年算作0岁)?
甲、乙两个仓库共存药45吨,现从甲仓库调出库存的60%,从乙仓库调出库存的40%支援非洲,结果两仓库药品库存相差3吨。甲、乙仓库原本库存的比例可能是多少?
某次数学比赛,参赛的男生中有得奖,女生有8人得奖,已知共有214人参加比赛,没有得奖的男生人数比没有得奖的女生人数的两倍多8人,那么参加比赛的男生有多少人?
某出版社新招了10名英文、法文和日文方向的外文编辑,其中既会英文又会日文的小李是唯一掌握一种以上外语的人。在这10人中,会法文的比会英文的多4人,是会日文人数的两倍。问只会英文的有几人?
某自行车租车点的收费标准是每车次不超过两小时免费,超过两小时的部分每小时收费2元(不足1小时的部分按1小时计算)。有甲、乙两人各自来该租车点租一车。设甲、乙不超过两小时还车的概率分别为;两小时以上且不超过三小时还车的概率分别为;两人租车时间都不会超过四小时
甲、乙、丙三台车床加工方形和圆形的两种零件,已知甲车床每加工3个零件中有2个是圆形的,乙车床每加工4个零件中有3个是圆形的,丙车床每加工5个零件中有4个是圆形的。某天三台车床共加工了58个圆形零件,而加工的方形零件个数的比为4:3:3,那么这天三台车床共加
①在无意义面前,大脑由于寻找不到答案而引发焦虑,当然这是积累到固定阈值之后的事情②权利是伴随选择而产生的,譬如电视机的频道转换器就给了观众看与不看的权利③人的大脑有一种无法改变的功能,即不断地追索词语以及所有事情的意义④如果在
随机试题
以下选项中,属于社会公德内容的有
有关环丙沙星的说法,错误的是
(操作员:赵主管;账套:301账套;操作日期:2015年1月31日)选择单据号为0015(单据类型为应收借项)的应收单,生成凭证。
根据香港联交所在《上市规则》中的有关规定,在境外发行股票并拟在中国香港上市的股份有限公司应具备的条件包括( )。
以下关于非货币性资产交换的说法中,正确的有()。
左边给定的是纸盒的外表面,下面哪一项能由它折叠而成?
设函数f(x,y)可微分,且对任意的x,y都有,则使不等式f(x1,y1)>f(x2,y2)成立的一个充分条件是()
阅读下列说明和C代码,回答问题,将解答写在答题纸的对应栏内。【说明】n皇后问题描述为:在一个nXn的棋盘上摆放n个皇后,要求任意两个皇后不能冲突,即任意两个皇后不在同一行、同一列或者同一斜线上。算法的基本思想如下:将第i个皇后摆放在第i行,i从1
SQL的DDL主要是定义(20)。若有:学生关系模式S(Sno,Sname,Age,Sex),课程关系模式C(Cno,Cname,Teacher)以及成绩关系模式SC(Sno,Cno,Grade),其中S的属性分别表示学生的学号、姓
PASSAGETWO
最新回复
(
0
)