首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C中。
学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C中。
admin
2021-07-09
29
问题
学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #define N 8
3 typedef struct
4 { char num[10];
5 double s;
6 } STREC;
7 double fun(STREC *a,STREC *b,int*n)
8 {
9 }
10 main()
11 {STREC s[N]={{’’GA05’’,85},{’’CA03’’,76},{’’CA02’’,69},{’’GA04’’,85},{’’GA01’’,91},{’’GA07’’,72},{’’GA08’’,64},{’’GA06’’,87}};
12 STREC h[N],t;FILE *out;
13 int i,j,n;double ave;
14 ave=fun(s,h,&n);
15 printf(’’The%d student data which is lower than%7.3f:\n’’,n,ave);
16 for(i=0;i<n;i++)
17 printf(’’%s %4.1f\n’’,h
.num, h
.s);
18 printf(’’\n’’);
19 out=fopen(’’out.dat’’,’’w’’);
20 printf(out,’’%d\n%7.3f\n’’,n,ave);
21 for(i=0; i<n-1;i++)
22 for(j=i+1;j<n;j++)
23 if(h
.s>h[j].s){t=h
; h
=h[j];h[j]=t;}
24 for(i=0;i<n;i++)
25 fprintf(out,’’%4.1f\n’’,h
.s);
26 fclose(out);}
选项
答案
1 int i; 2 double ave=0.0; 3 *n=0; 4 for(i=0;i<N;i++) ave=ave+a[i].s; 5 ave/=N; /*计算平均值*/ 6 for(i=0; i<N; i++) 7 if(a[i].s<ave){ /*把低于平均值的记录存放到b所指的数组中*/ 8 b[*n]=a[i]; 9 (*n)++; /*人数加1*/) 10 return ave; /*返回平均值 */
解析
(1)首先,通过循环求总分,然后求得平均分。(2)在循环中,进行平均分与每个成绩进行比较,并将满足条件的数据存入数组及对其进行累加。
转载请注明原文地址:https://kaotiyun.com/show/Ubkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
数据库应用系统中的核心问题是
设有定义:chars[10];inti=0;,以下不能将一行(不超过100个字符)带有空格的字符串正确读入的语句或语句组是()。
定义结构体数组structstu{intnum;charname[20];)x[5]={1,’’ZHAO’’,2,’’QIAN’’,3,’’SUN’’,4,’’LEE’’,5,’’ZHOU’’};for(i=l;i<5;i++)printf(’
若函数中有定义语句:inta;,则()。
有以下程序#include<stdio.h>main(){inta;a=(int)(-1.53*3);printf("%d\n",a);}程序的运行结果是
若运行时给变量X输入12,则以下程序的运行结果是()。main(){intx,y;scanf(“%d”,&x);y=x>127x+10:x一12;printf(“%d\n”,y);}
有三个关系R、S和T如下:则下列操作中正确的是()。
有3个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
随机试题
提托穴的定位是()。
下列培养基不是用于沙门菌检验的是
A.肾上腺素B.去甲肾上腺素C.异丙肾上腺素D.酚妥拉明E.普萘洛尔哮喘急性发作可选用
癌症病人在得知病情初期最常使用的心理防御机制是
根据《绿色施工导则》的规定,为有效防治施工现场大气扬尘污染,施工单位可采取下列措施()。
H公司成立于5年前,刚成立的时候规模较小,经过几年的发展,规模逐渐扩大。与此同时,公司高层发现公司的人力资源管理跟不上公司的发展,亟须加强人力资源管理工作。为此,指派吴经理负责这方面的工作。吴经理感到自己对人力资源管理也缺乏足够的知识,为了完成好这项任务,
下列关于共同共有和按份共有的区别表述错误的是()。
甲公司以人民币为记账本位币,2×17年发生的有关外币交易或事项如下:(1)外币美元资本投入,合同约定的折算汇率与投入美元资本当日的即期汇率不同;(2)支付应付美元货款,支付当日的即期汇率与应付美元货款的账面汇率不同;(3)年末折算汇率与交易发生时或账面汇率
小张、小王两人同时从甲地出发,驾车匀速在甲、乙两地之间往返行驶。小张的车速比小王快,两人出发后第一次和第二次相遇都在同一地点,问小张的车速是小王的几倍?()
马克思研究社会资本再生产的核心问题是()。
最新回复
(
0
)