首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10
admin
2021-02-25
61
问题
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000
移动后的输出为:30 6 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; i<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.of’’,x
);
29 printf(’’\n’’);}
选项
答案
(1)x[i]/N (2)j++或j=j+1 (3)i++或i=i+1
解析
第一空:“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数组的下标应为下一个位置,故第二空处应为j加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/Dntp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组S中。请编写函数fun,其功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。例如,输入的分数是60、69,则应当把分数在60~69的学生数据
以下叙述中正确的是()。
以下叙述中正确的是()。
有以下程序:#include<stdio.h>main(){inti,J;forti=1;i<4;i++){fortj=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");
若有定义语句:inta=3,b=2,c=l;以下选项中错误的赋值表达式是()。
若主函数中有定义语句:inta[10],b[10],c;,在主函数前定义的fun函数首部为:voidfun(intx[]),则以下选项中错误的调用语句是()。
设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为
下列选项中,能够满足“只要字符串s1等于字符串s2,则执行ST”要求的是
以下能正确定义字符串的语句是
在软件生命周期中,能准确确定软件系统必须做什么和必须具备哪些功能的阶段是
随机试题
以下哪种行为破坏了茶艺人员服务规范
腕关节掌侧玻璃切割伤,出现哪项体征说明有正中神经损伤
师某几年来共盗窃自行车五百多辆,案发后在横穿公路时突被一辆卡车撞死。司法机关对师某的盗窃行为可能作出的正确决定是()。
向已有地方标准的区域排放污染物时,应当执行()。
下列适用15%的企业所得税税率的企业所得有()。
国家信用的主要形式有()。
已知下列非齐次线性方程组:求解方程组(I),用其导出组的基础解系表示其通解;
MoneyinAmericaMoneyisusedtobuygoodsorservicesand【1】______debts. 【1】_________InAmerica,moneysupplycon
Americansareahighly【B1】______people.Whatfactorscausethemtomove?Thedesireforeconomicbettermentis【B2】______themo
A、Theplaneissafeeveniftwoofitsenginesfail.B、Therearethreeenginesoneachofthegiantjetplane.C、Thereisanext
最新回复
(
0
)