首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回。函数形参a指向存放得分的数组,形
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回。函数形参a指向存放得分的数组,形
admin
2018-08-11
24
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回。函数形参a指向存放得分的数组,形参n中存放得分个数(n>2)。
例如,若输入9.9 8.5 7.6 8.5 9.3 9.5 8.9 7.8 8.6 8.4十个得分,则输出结果为:8.687500。
注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
void NONO();
double fun(double a[],int n)
{
}
main()
{double b[10],r;int i;
printf("输入10个分数放入b数组中:");
for(i=0;i<10;i++)
scanf("%lf",&b
);
printf("输入的10个分数是:");
for(i=0;i<10;i++)
printf("%4.1lf’,b
);
printf("\n");
r=fun(b,10);
printf("去掉最高分和最低分后的平均分:%f\n",r);
NONO();
}
voidNONO()
{/*本函数用于打开文件,输入数据。调用函数,输出数据,关闭文件。*/
FILE*fp,*wf;
int i,j;
double b[10],r;
fp=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++)f
for(j=0;j<10;j++){
fscanf(fp,"%if",&b[j]);
}
r=fun(b,10);
fprintf(wf,"%f\n",r);
}
fclose(fp);
fclose(wf);
}
选项
答案
double fun(double a[],int n) { double sum=0,max,min;int i; max=min=a[0]; for(i=0;i<n;i++) { sum=sum+a[i]; if(max<a[i])max=a[i]; if(min>a[i])min=a[i]; } sum=sum-max-min; return(sum/(n-2)); }
解析
设定三个变量sum存放合值,max存放最大值,min存放最小值。max和min都赋为数组中第一个元素的值。利用循环将数组中元素累加到sum中,并找出最大值和最小值,sum值减去最大值和最小值。函数返回sum除以元素个数一2得平均值。
转载请注明原文地址:https://kaotiyun.com/show/Okxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序中函数creat用于建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾,单向链表的头指针作为函数值返回。将程序补充完整。#include<stdiao.h>structlist{chardata;struct
软件工程研究的内容主要包括:【】技术和软件工程管理。
有下列程序:#include<stdio.h>voidfun(char*a,char*B){while(*a==’*’)a++;while(*b=*A){b++;a++;}}
分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p
若有以下定义:intt[3][2];,能正确表示t数组元素地址的表达式是______。
有以下程序:#include<stdio.h>voidswap(char*x,ehar*y){chart;t=*x;*x:*y;*y=t;main(){char*s1="abc",*s2="123";
有以下程序main(){inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;for(i=0;i<4;i++)for(j=0;j<3;j++)fo
有以下程序#include<stdio.h>main(){FILE*fp;inti=20,j=30,k,n;fp=fopen("D1v.dat","w");fprintf(fp,"%d\n",i);fprintf
下列程序的输出结果是______。#include<stdio.h>main(){inta=2,c=5;printf("a=%%d,b=%%d\n",a,c);}
有以下程序:main(){chark;inti;for(i=1;i<3;i++){scanf("%c",&k);switch(k){
随机试题
一般体检测量脉搏的方法中,正确的是
葡萄胎确诊后应采取的处理方案是
建设工程索赔按照索赔目的和要求可分为()
【真题(初级)】政府财政收入中最主要的部分是()。
证券交易的清算指在每一营业日中每个结算参与人成交的证券数量与价款分别予以轧抵,对证券和资金的应收或应付净额进行计算的处理过程。()
资产1、资产2(E(r1)>E(r2))这两个风险资产形成的可行投资组合集为一条曲线,若上述两个资产都无法卖空,则以下表述中正确的是()。[2015年12月真题]
以下关于导游义务的说法中错误的是()。
考评公平公开的程度属于绩效管理系统总体评估的()。
不同的人具有不同的特殊能力,能力的这种差异属于()
A、Toattractmoreseaanimalstothetestingsite.B、Todrivedangerousseaanimalsawayfromthetestingsite.C、Tohelptrace
最新回复
(
0
)