首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C中。
学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C中。
admin
2021-07-09
28
问题
学生的记录由学号和成绩组成,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://jikaoti.com/ti/Nrd0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#includeintfun(){staticintx=1;x*=2:returnx:}main(){inti,s=1;for(
下面描述中不属于数据库系统特点的是
若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是()。
规定输入的字符串只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G**
定义结构体数组structstu{intnum;charname[20];)x[5]={1,’’ZHAO’’,2,’’QIAN’’,3,’’SUN’’,4,’’LEE’’,5,’’ZHOU’’};for(i=l;i<5;i++)printf(’
以下程序运行后的输出结果是()。#include<stdio.h>voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a
给定程序中,函数fun的功能是:计算形参X所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至K所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有10个正
有以下程序#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);}
随机试题
退休金的性质属于
描述错误的是
通常三环类抗抑郁药物的每天治疗剂量为
人类有组织的活动基本分为两种类型,一类是作业,另一类是()。
下列关于低压断路器的叙述,不正确的是()。
毛泽东在1945年8月28日赴重庆谈判,在渝期问毛泽东于8月30日、9月2日、9月15日三次到“特园”会见其主人,并会晤各界人士。“特园”的主人是()。
建设有中国特色社会主义文化的根本任务是()
①盛唐以来,纹饰大量借鉴金属器皿、各种织物等图案,使瓷器的装饰意味更浓②传统细瓷早已形成一整套美化装饰的方式方法,不管是刻花、剔花,还是贴花、印花③中国瓷器享誉世界,也在于它是科学技术与民间工艺美术技法完美结合的产物④早期的纹
以下哪些不是良性肿瘤的表现()。
In.somewaystheemploymentinterviewislikeapersuasivespeechbecausetheapplicant(interviewee)seekstopersuadetheemp
最新回复
(
0
)