首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正
admin
2018-09-27
22
问题
给定程序中,函数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全国计算机二级
相关试题推荐
若输入3、4、5,程序的输出结果为【】。#include"math.h"main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c)
在数据库理论中,数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,称为______。
有以下程序voidf(intx,inty){intt;if(x<y){t=x;x=y;y=t;}main(){inta=4,b=3,c=5;f
下列程序的运行结果是()。main(){intx=1,y=3,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("%d,%d
“商品”与“顾客”两个实体集之间的联系一般是()。
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】注释。
设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是()。
下面程序的功能是:计算1~10之间的奇数之和与偶数之和,请填空。#include<stdio.h>main(){inta,b,c,i;a=c=0;for(i=0;i<=10;i+=2)
在面向对象方法中,类之间共享属性和操作的机制称为【】。
在数据库设计的四个阶段中,为关系模式选择存取方法应该是在______阶段。
随机试题
在局部黏膜抗感染中发挥重要作用的Ig是
下列组合错误的是
结肠癌Dukes分期中B期是指
单位建筑工程概算的主要编制方法是()。
代位权行使的要件包括()。
根据理财规划的需求,银行一般把客户信息分为()。
张某因寻衅滋事被判处有期徒刑三年,缓期三年执行,成为矫正社会工作者小温的服务对象。为了与张某建立专业关系,更好地帮助他顺利度过社区矫正期,小温应该()
(2010年上海.65)2010年上海世博会期间,负责中同主题馆工作的志愿者将被分为A、B、C、D四个小组,已知A、B两组有80人,B、C两组有87人,C、D两组有92人,那么A、D两组共有()人。
8255A的端口A的工作方式是由方式控制字的______位决定。
Massivechangesinalloftheworld’sdeeplycherishedsportinghabitsareunderway.Whetherit’soneofLondon’sparksfullof
最新回复
(
0
)