您好,登录后才能下订单哦!
计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y数组中输出
#include <stdlib.h>
#include <stdio.h>
#define N 10
double fun(double x[],double *y)
{ int i,j; double av;
av=0.0; //av为double型
for(i=0; i<N; i++)
av=av+x[i]/N; //将 sum=0;sum=sum+x[i];av=sum/N;合成一条
for(i=j=0; i<N; i++)
if(x[i]>av) y[j++]= x[i]; //若为y[j]的话,会导致y[0]这个元素会不断被赋值
y[j]=-1; //题目将x[i]全设定为整数,y[j]=-1相当于终点,为下面输出做铺垫
return av;
}
void main()
{ int i; double x[N],y[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,y));
for(i=0; y[i]>=0; i++) printf("%5.1f ",y[i]);
printf("\n");
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。