首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正
admin
2018-09-27
48
问题
给定程序中,函数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://www.kaotiyun.com/show/A8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有如下程序:#defineN2#defineMN+1#defineNUM2*M+1#main(){inti;for(i=1;i<=NUM;i++)
以下程序的输出结果是【】。 #define MCRA(m) 2*m #define MCRB(n,m) 2*MCRA(n)+m main( ) { inti=2,j=3; printf("%d\n",MCRB(j,MCRA(i)
有以下程序 main() {char s[]={"aeiou"},*ps; ps=s; printf("%c\n",*ps+4); } 程序运行后输出的结果是______。
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
以下四个选项,不能看作一条语句的是()。
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
下列有关数据库的描述,正确的是
已知a所指的数组中有N个元素。。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置填空。voidfun(inta[N],intk){inti:for(i=k;i
下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。structstu{intx;【】【】next;}
随机试题
当孔将要钻穿时,必须减小进给量。( )
下列哪一项不是肠外营养的并发症
相对压实度是评价碾压混凝土压实质量的指标,对于建筑物的外部混凝土相对压实度不得小于()。
指定生产计划应该考虑的工作部门所需要的时间因素有()。
下列表述中,不正确的有()。
公允价值,是指市场参与者在计量日发生的有序交易中,出售一项资产所能收到或者转移一项负债所需支付的价格。()
以培养学生实际运用知识和动手操作能力,发展创造性才能,激发兴趣和爱好等为主要目的的班级活动是()。
填入下面横线处最恰当的一项是()。爱因斯坦非常重视想象力,他说:“_______,严格地说,想象力是科学研究中的实在因素。”①想象力能概括世界上的一切②因为知识是有限的③想象力比知识更重要④并且是知识进化的源泉
确诊膝关节滑膜结核时,以下哪项最可靠
将考生文件夹下的文件夹DOWN移动到考生文件夹下MORN文件夹中。
最新回复
(
0
)