首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,其功能是:把低于平均分的学生数据放入b所
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,其功能是:把低于平均分的学生数据放入b所
admin
2018-10-21
75
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,其功能是:把低于平均分的学生数据放入b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N8
typedef struct
{
char num[10];
double s;
}STREC;
double fun(STREC*a,STREC*b,
int*n)
{
}
void main()
{
STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},{"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87}};
STREC h[N];
int i,n;
double ave;
ave=fun(s,h,&n);
printf("The%d student data which is lower than%7.3f:\n",n,ave);
for(i=0;i<n;i++)
/*输出成绩低于平均值的学生记录*/
printf("%s%4.lf\n",h
.num,h
.s);
printf("\n");
}
选项
答案
double fun(STREC*a,STREC*b,int*n) { int i,j=0; double av=0.0; for(i=0;i<N;i++) av=av+a[i].s; av=av/N;/*求平均值*/ for(i:0;i<N;i++) if(a[i].s<av) b[j++]=a[i]; /*将低于平均值的学生记录存入结构体数组b中*/ *n=j; /*指针传回低于平均值的学生人数*/ return av; /*返回平均值*/ }
解析
本题使用循环语句和条件判断语句来实现程序操作,第1个循环语句的作用是求出总分,然后求出平均分av。第2个循环的作用是将分数低于平均分的学生记录存入结构体数组b中。
转载请注明原文地址:https://www.kaotiyun.com/show/kMxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在数据库设计中,将E-R图转换为关系模式的过程属于()。
若有定义inta=10,b=9,c=8;,接着顺序执行下列语句,变量b中的值是【】。c=(a-=(b-5));c=(a%11)+(b=3);
以下程序的输出结果是【】。#include<stdio.h>main(){inta=2,b=3,c=4;a*=16+(b++)-(++c);Printf("%d",a);}
下列程序的输出结果是【】。#include<stdio.h>intfun(intx,inty){staticintm0,i=2;i+=m+1;m=i+x+y;
若有如下程序:voida(char*p,charc){while(*p){if(*p==c)*p=c-’b’+’B’;;p++;}}main(){chars[50]="abcdeeffg
以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序;voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1,j<n;j+
若希望下列的程序运行后输出25,程序空白处的正确选项是()。main(){inti,j=50,a[]={7,4,10,5,8};for()j+=a[i];printf("%d",j-4
下列程序执行后的输出结果是______。main(){intm[][3]={1,4.7,6,5,8,3,6,9};inti,k=2for(i=0,i<3;i++){printf("%d",m[k][
有以下程序main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:cas
下列程序的运行结果是【】。main(){inti;for(i=1;i<=5;i++)f(i);}f(j){intj;staticinta=1000;auto
随机试题
服药后,保育员要注意查对幼儿姓名、药名、剂量、用法,并亲自督促幼儿服药,服药情况要做认真记录。()
现代汽车发动机在曲轴轴承的配合上采用了()的方法。
复式记账法的理论依据是:期初余额+本期增加额-本期减少额=期末余额。
首先考虑的处理方法:若患者出现羊水池深度<2cm,且宫口已开大3cm,NST反应型,首要的处理方法为:
CR经X线照射后在影像板存留的是
用益物权的()表明用益物权不具有担保物权所具有的从属性和不可分性的属性。
下列关于个人住房贷款借款合同变更和终止的说法,不正确的是()。
目前,我国已经初步形成了以债券和股票等证券产品为主体、场外交易市场和交易所市场并存的资本市场。()
社会工作者小韩发现社区内存在着家庭暴力问题,家庭暴力的对象通常都是没有工作或者性格懦弱的家庭妇女,因为有着“家丑不可外扬”的观念,她们并不懂得向有关组织或机构求助。社会工作者针对这一问题开展的服务属于()范畴。
Student:I’mverydown.Mydadgetseriouslyilllastweek,andI’m...Teacher:No.Notget.Saygotbecauseit’sinthepast.
最新回复
(
0
)