首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C中。
学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C中。
admin
2021-07-09
51
问题
学生的记录由学号和成绩组成,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://www.kaotiyun.com/show/Ubkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下关于结构化程序设计的叙述中正确的是()。
给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。规定在__2__处使fa指向函数f1,在__3__处使fb指向函数f2。当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.00
下面程序的输出结果是()。#includemain(){chara[]={’a’,’b,’c’,’d’,’f’,’g’},*p;p=a;printf(”%c\11”,*p+4);}
编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。xn+1=cos(Xn)迭代步骤如下:(1)取x1初值为0.0;(2)x0=x1,把x1的值赋给x0;(3)x1=cos(x0)
编写函数fun,其功能是:比较字符串的长度,不得使用C语言提供的求字符串长度的函数,函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入“beijing”<CR>“shanghai”<CR>(<CR>为Enter键),函数将返
有以下程序#include<stdio.h>#include<stdlib.h>voidfun(int*p1,int*s){int*t;t=(int*)malloc(2*siz
若有以下定义,则对数组元素的正确引用是()。inta[5],*p=a;
给定程序MOD11.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第1门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第1门课程的平均分是:76.125000请改正函数
软件需求规格说明书在软件开发中的作用不包括()。
当变量C的值不为2、4、6时,值为“真”的表达式是()。
随机试题
仅用于绝经后妇女,不适用于男性患者的抗骨质疏松药物是
律师执业活动中的不正当竞争行为有()
佛教在中国进入鼎盛阶段是在()时期。
身份证:身份
A、 B、 C、 D、 D
[*]
Thesolutionworksonlyforcoupleswhoareself-employed,don’thavesmallchildrenandgetalong______tospendmostoftheirt
A.grimyB.assumedC.derivesD.emergesE.approveF.turnedG.buriedH.publishedI.unfortunatelyJ.grimK.appearedL.in
Youhavereadtheextractbelowaspartofanewspaperarticleonthelossofnationalandculturalidentity.Pleasewriteanes
Takingupajobthroughcompetition,manyJapanesedon’tsleepwell,andthisaffecttheirlivequalityandpracticalwork,show
最新回复
(
0
)