首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正
admin
2018-09-27
33
问题
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000
移动后的输出为:306 17 15 26 46 32 40 45 48
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdlib.h>
2 #include<stdio.h>
3 #define N 10
4 double fun(double *x)
5 { int i,j;double av,y[N];
6 av=0;
7 /**********found**********/
8 for(i=0; i<N; i++) av+=__1__;
9 for(i=j=0; 2<N;i++)
10 if(x
<av){
11 /**********found**********/
12 y[j]=x
;x
=-1;__2__;}
13 i=0;
14 while(i<N)
15 { if(x
!=-1) y[j++]=x
;
16 /**********found**********/
17 __3__;
18 }
19 for(i=0;i<N;i++)X
=y
;
20 return av;
21 }
22 main()
23 { int i;double x[N];
24 for(i=0;i<N;i++)(x
=rand()%50;printf(’’%4.of’’,x
);}
25 printf(’’\n’’);
26 printf(’’\nThe average is:%f\n’’,fun(x));
27 printf(’’\nThe result:\n’’,fun(x));
28 for(i=0;i<N;i++)printf(’’%5.0f’’,x
);
29 printf(’’\n’’);}
选项
答案
(1)x[i]/N (2)j++或j=j+l (3)i++或i=i+1
解析
本题中函数fun的功能是计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部。在fun函数中,首先求平均值,然后拿平均值逐个和数组元素比较,如果元素值小于平均值则保存在数组y中,再把大于等于平均值的元素放在数组y后面,最后把y数组内的元素拷贝到x所指的数组中。
第一空:“for(i=0;i<N;i++)av+=__1__;”在该循环的下一个循环内是逐个比较元素x
是否小于av,即该循环的功能是求出平均值。由“av=(x[0]+x[1]+…x[N-1])/N=x[0]/N+x[1]/N+…+x[N-1]/N”可知,第一空处应为“x
/N”。
第二空:“if(x
<av){y[j]=x
;x
=-1;___2__;”如果x
小于平均值则将x
存储在y数组中,变量i是循环变量,变量j记录数组y的下标变化,下一次执行if内部语句时,y数组的下标应为下一个位置,故第二空处应为i加1,即第二空出为“j++”或“j=j+1”。
第三空:i为while循环的循环变量,第一次进入while的时候i为0,判断第一个元素x[0]是否是-1,第二次进入的时候判断第二个元素x[1]是否是-1,依此类推直到i=N退出循环,故第三处是变量i自增,即第三空处为“i++”或“i=i+1”。
转载请注明原文地址:https://kaotiyun.com/show/A8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有如下程序段:intx=2002,y=2003;printf(“%d\n”,(x,y));则以下叙述中正确的是
若变量a,b 已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句[]。
若有如下程序:main(){intx=4,y=3,x=2,t;t=x<y<z;printf("%d\n",t);}则程序运行后的输出结果是【】。
软件工程研究的内容主要包括:【】技术和软件工程管理。
有以下程序:#include<stdio.h>main(){printf("%d\n",NULL);}程序运行后的输出结果是()。
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】注释。
以下函数返回a所指数组中最小的值所在的下标值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[j])________return(p);}在下划线处应填入的是
设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是()。
对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【】。
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【】的设计方法。
随机试题
下列哪一项是产品成本形成之后的综合分析与考核活动【】
A.血浆清除率为零B.血浆清除率等于肾小球滤过率C.血浆清除率大于125ml/minD.血浆清除率小于125ml/min某物质在肾小球滤过后,又被肾小管全部重吸收,其
该病儿急需做的检查是该病儿最可能的诊断是
下列哪项可作为肾血管性高血压的主要诊断依据
地下工程防水效果检查记录内容包括检查方法、检查内容及检查结果。()
外汇兑换证明俗称(),其有效期为6个月。
表象练习的时间一般为3~10分钟。()
Thepersonheinterviewedwas______hisformerschoolmate.
相对于DES算法而言,RSA算法的(7),因此,RSA(8)。
ThisisMattDrudge,millionairefounderandowneroftheDrudgeReport,thefirstandmostsuccessfulonline’newspaper’.Peop
最新回复
(
0
)