首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.
admin
2017-07-27
37
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #define N 12
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},{’’GA01’’,91},{’’GA07’’,72},{’’GA08’’,64},{’’GA06’’,87},{’’GA09’’,60},{’’GA11’’,79},{’’GAl2’’,73},{’’GAl0’’,90}};
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 higher 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.1f\n’’,h
.s);
26 fclose(out);}
选项
答案
1 double t=0; 2 int i ; 3 * n=0; 4 for(i=0;i<N ; i++)t=t+a[i].s; 5 t=t/N; 6 for(i=0;i<N;i++) if(a[i].s>t)b [(*n)++]=a[i]; 7 return t;
解析
该程序功能是把高于或等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数返回值返回。解题过程首先求得平均分,然后将所有成绩与平均分进行比较,如果大于或等于平均分,存入指定数组。
转载请注明原文地址:https://kaotiyun.com/show/7ODp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列函数值的类型是()。fun(doublex){floaty;y=3*x-4;returny;}
以下程序运行后的输出结果是。#inc]udcmain(){intx=10.y=20.t=0;if(x==y)t=x;x=y;y=1;printf(“%d%d/n”.x,y);
以下程序运行后的输出结果是。#includemain(){inta;a=(int)((double)(3/2)+0.5+(int)1.99*2);print{(“%d\n”,a);
有以下程序includemain(){chara[30],b[30];scanf(“%s”,a);gets(b);printf(“%s\n%s\n”,a,b);}程序运行时
下面函数的功能是()。sss(s,t)char*s,*t;{while((*s)&&(*t)&&(*t++==*s++));return(*s-*t):}
以下叙述中正确的是()。
下面程序的功能是:输出100以内能被3整除且个位数为9的所有整数,清填空。main(){inti,j;for(i=0;();i++){j=i*10+9;if(j%3!=0)continue;print
若语句“t=fun(fun(x,y,A),(a+b,a+C),x+y+z);”对fun函数的调用正确,则fun函数的形参个数为()。
()的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。
以下选项中不合法的标识符是()。
随机试题
在以横轴表示劳动数量和纵轴表示资本数量的平面坐标中所给出的等成本线的斜率为( )(劳动和资本的价格分别为rL和的rK)。
男性,70岁。软弱无力,进食减少,口渴、多尿2周,近2天嗜睡。急诊检查:BP70/50mmHg,神志朦胧,皮肤干燥失水,呼吸34次/分,心率108次/分,尿糖(++++),尿酮(±)。既往无糖尿病病史。最主要的治疗措施是
关于牙体预备中牙髓保护的描述错误的是
根据《刑事诉讼法》的规定,下列何人有权委托诉讼代理人?
为了确定保险金额的方便,安装工程险保单明细表中列出的保险项目包括()
资产负债率是反映营运能力的指标。()
儿童先学习阿拉伯数字后再记住简谱名出现困难,这是因为()。
()对于大脑相当于资料对于()
PositiveforYouthaimstoplaceteenagersandyoungpeopleatitsheart.Thereistheaccurateexpectationteenagersthemselves
Theoldwomanwouldhavebeendrowned______apasser-bydraggedheroutofthewater.
最新回复
(
0
)