首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正数:
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正数:
admin
2021-04-28
49
问题
给定程序中,函数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中。
不得增行或删行,也不得更改程序的结构!
#include<stdlib.h>
#include<stidio.h>
#define N 10
double fun(double*x)
{int i,j;double av,y[N];
av=0;
/**********found**********/
for(i=0;i<N; i++) av+=___1___;
for(i=j=0;i<N;i++)
if(x
<aV){
/**********found**********/
y[j]=x
;x
=-1;___2___;}
2=0;
while(i<N)
{ if(x
!=-1)y[j++]=x
;
/**********found**********/
___3___;
}
for(i=0; i<N; i++)x
=y
;
Eeturn av;
}
main()
{ int i;double x[N];
for(i=0;i<N;i++){x
=rand()%50;printf("%4.0f",x
);}
printf("\n");
printf("\nThe average is:%f\n",fun(x));
printf("\nThe
result:\n",fun(x));
for(i=0;i<N;i++)printf("%5.0f",x
);
printf("\n");}
选项
答案
(1)x[i]/N (2)j++或j=j+1 (3)i++或i=i+1
解析
本题中函数fun的功能是计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部。在fun函数中,首先求平均值,然后拿平均值逐个和数组元素比较,如果元素值小于平均值则保存在数组y中,再把大于等于平均值的元素放在数组y后面,最后把v数组内的元素拷贝到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数组的下标应为下一个位置,故第二空处应为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/9Htp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
数据库系统的三级模式不包括
执行以下程序后,test.txt文件的内容是(若文件能正常打开)#include<stdio.h>main(){FILE*fb;char*s1="Fortran",*s2="Basic";if((fb=
设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)0的程序段是
“软件系统总体结构图,下面描述中错误的是
若有定义:inta=7;floatx=2.5,y=4.7;则表达式“x+a%3*(int)(x+y)%2/4”的值是()。
以下能正确定义二维数组是
设有定义:intx=0,*p;紧接着的赋值语句正确的是
以下程序依次把从终端输入的字符存放到f文件中,用#作为结束输入的标志,则在横线处应填入的选项是#includemain(){FILE*fp;charch;fp=fopen("fname","w
软件工程的三要素是
随机试题
设A为m×n矩阵,且r(A)=n,若AB=AC,证明:B=C.
关于我国2018年时事的表述错误的是()。
柯氏位(Caldwell)摄影,听眦线与中心线的角度关系是
货物综合评估法的评标因素包括技术因素、价格因素、商务因素,其中技术因素的内容包括()。
国际航空运输的国际航班的国内段只能适用国内航空法,不能适用华沙体制。()
()直接决定了基金的投资收益。
客喜而笑,___________。肴核既尽,___________。(苏轼《赤壁赋》)
(10)被定义为防火墙外部接口与Internet路由器的内部接口之间的网段,起到把敏感的内部网络与其他网络隔离开来,同时又为相关用户提供服务的目的。
(2012年上半年)软件可靠性和可维护性是软件的一项重要特性,根据GB/T14394—2008中对其的描述,在软件运作和维护过程中,(14)不属于分析和提高软件可靠性的措施。
通常对外存储设备存取的过程是按某一顺序完成的。下列哪一个顺序是正确的?()
最新回复
(
0
)