给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数主函数输出平均值和移动后的数据。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define N 10
double fun(double *x)
{
int i, j;
double av, y[N];
av = 0;
for (i = 0;i < N;i++)
av +=( x[i] / N);
for (i = j = 0;i < N;i++)
if (x[i] < av)
{
y[j] = x[i];
x[i] = -1;
j++;
}
i = 0;
while (i < N)
{
if (x[i] != -1)
y[j++] = x[i];
i++;
}
for (i = 0;i < N;i++)
x[i] = y[i];
return av;
}
int main()
{
int i;
double x[N];
for (i = 0;i < N;i++)
x[i] = rand() % 50;
printf("4.0f", x[i]);
printf("\n");
printf("\nThe average is:%f\n", fun(x));
printf("\nThe result :\n");
for (i = 0;i < N;i++)
printf("%5.0f", x[i]);
printf("\n");
getchar();
return 0;
}