首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROGl.C中。
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROGl.C中。
admin
2018-09-27
52
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
注意:部分源程序在文件PROGl.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},{’’GA03”,76},{’’GA02’’,69},{’’GA04’’,85},{’’CA01’’,91},{’’GA07’’,72},{’’GA08’’,64},{’’CA06’’,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 fprintf(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.if\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; /*返回平均值*/
解析
该程序功能是把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
(1)首先,通过循环求总分,然后求得平均分。(2)在循环中,进行平均分与每个成绩进行比较,并将满足条件的数据存入数组及对其进行累加。
转载请注明原文地址:https://kaotiyun.com/show/oyxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是()。abs(intx){if(x>=0)returnx:elsereturn-x;}main(){i
以下程序运行后输出结果是【】。#include<stdio,h>voidswap(intx.inty){intt;t=x;x=y;y=t:printf("%d%d",x,y);}main()
以下程序的运行结果是______。#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3,0,0},i;fp=fopen("d2.dat","wb");fwt
执行下列程序时输入456789123,输出结果是()。#includemain(){charm[80];intc,i;scanf(“%c”,&C;scanf(“%d”,&i
下列程序是用来判断数组中特定元素的位置所在的。#include#includeintfun(int*s,intt,int*k){inti;*k=0;for(i=0;i
设有定义"struct{inta;floatb;charc;}abc,*p_abc=&abc;",则对结构体成员a的引用方法可以是abc.a和p_abc【】a。
结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法。
软件危机出现于20时纪60年代末,为了解决软件危机,人们提出了()的原理来设计软件,这就是软件工程诞生的基础。
在软件开发中,结构化方法包括结构化分析方法、结构化设计方法和结构化程序设计方法。可行性研究阶段采用的是【】。
若已建立如下图所示的单向链表结构:在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是______。
随机试题
通过对磁盘进行磁盘碎片整理,不能提高文件的读取速度。()
火箭免疫电泳时,沉淀峰顶部呈不清晰的云雾状提示
电阻型血液分析仪的参数中,直接测定得到的参数为
检查某药物中砷盐,称取样品2.0g,依法检查,与标准砷溶液2.0ml(1μgAs/ml)在相同条件下制成砷斑比较,不得更深。砷盐的限量是
氢氰酸的主要危害在于其()。
下列各项中,属于筹资活动所产生的现金流量的是()。
甲公司为了应对可能发生的风险,建立了专项风险基金,专门用于风险接受的损失补偿,以形成抗风险的有力后盾,这种风险应对策略是()。
2013年末全国拥有水上运输船舶17.26万艘,比上年末减少3.4%;净载重量24401.03万吨,增长6.8%;载客量103.30万客位,增长0.8%;集装箱箱位170.16万TEU,增长10.5%;船舶功率6484.66万千瓦,增长11.5%。2
“解放以后,我们肃清了一批反革命分子。一些有严重罪行的反革命分子被处了死刑。这是完全必要的,这是广大群众的要求,这是为了解放长期被反革命分子和各种恶霸分子压迫的广大群众,也就是为了解放生产力。”这段话提及的矛盾属于
A、 B、 C、 B
最新回复
(
0
)