给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10

admin2017-02-28  30

问题 给定程序中,函数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
#include
#define N 10
double  fun (double  *x)
{ int i,j; double av,y[N];
av=0;
i=0;
  while (i    {   if (x 1=—1)  y[j++] =x
   ____3____ ;
}
   for (i=0;  i  =  y
  return av;
}
main ()
{  int i; double x[N];
    for (i=0;  i=rand () %50;
printf ("%4.0f  ",x ) f }
    printf ( "\n") ;
printf("\nThe average is: %f\n",
   printf ("\nThe
result  :\n",fun (x)) ;
for(i=of iprintf ( "\n"if (i >=0)
        }
}
main ()
{  char sl[81]; int numl[5],1;
     printf ( "\nPlease enter a string:
    fun  (s1, num1) ;
   for (i=0; i < 5; 1++) printf ("%d
",num1 ) ;  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是否小于av,即该循环的功能是求出平均值。由“aw(x[0]+x[1]+…x[N—1])/N:X[0]/N+X[1]/N+ —+x[N一1]/N”可知,第一空处应为“X/N”。
第二空:“if(X;x=一1; ____2____;”如果x小于平均值则将x存储在y数组中,变量i是循环变量,变量i记录数组y的下标变化,下一次执行if内部语句时,y数组的下标应为下一个位置,故第二空处应为j加l,即第二空出为“j++”或“j=j+1”。
第三空:1为while循环的循环变量,第一次进入while的时候i为0,判断第一个元素x[0]是否是一1,第二次进入的时候判断第二个元素x[1]是否是—1,依此类推直到i=N退出循环,故第三处是变量i自增,即第三空处为“IH”或“i=i+1”。
转载请注明原文地址:https://kaotiyun.com/show/sMID777K
0

相关试题推荐
最新回复(0)