计算数组x中N个数的平均值(规定所有数均为正数)

计算数组x中N个数的平均值(规定所有数均为正数),将x数组中大于平均值的数据移至x数组的前端,小于等于平均值的数据移至x数组的后端。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000
移动后的输出为:46 32 40 45 48 30 6 17 15 26
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include <stdlib.h>
#include <stdio.h>
#define N 10
void main()
{ int i,j;double x[N],y[N],av,s=0;
for(i=0;i<N;i++)
{ x[i]=rand()%50; /*产生一个其值在0~49之间的随机整数*/

printf("%5.0f
",x[i]);
}
printf("\n");
for(i=0;i<N;i++) s=s+x[i];
/***************found ***************/
av= ① ;
printf("The average is: %lf\n",av);
for(i=j=0;i<N;i++)
/***************found ***************/
if(x[i]>av)
{y[ ② ]=x[i]; x[i]=-1;}
for(i=0;i<N;i++)
/***************found ***************/

if(x[i]!= ③
) y[j++]=x[i];
for(i=0;i<N;i++) x[i]=y[i];
for(i=0;i<N;i++)
printf("%5.0lf ",x[i]);
printf("\n");}

①s/N//求平均值
②j++//把数组x中比平均值大的元素以次放在数组y中,并在数组x中标记为-1
③-1//数组x中值不等于-1的,即为值比平均值小的元素,放到数组y中
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-27
av=s/10.0;

{y[ j++ ]=x[i]; x[i]=-1;}

if(x[i]!= -1
相似回答