华为的一道初步面试题,面试C++的

来源:互联网 发布:装摄像头需要网络吗 编辑:程序博客网 时间:2024/04/29 23:50

题目很简单:给你一个一维数组,里面有n个元素,请写一个函数,计算数组中的元素大于平均数的值的有多少个?[C/C++/java]

下面给出C版:

可以将DetectArray函数写在头文件中!

#include<stdio.h>
int DetectArray(double array[],int n);
void main(){
 double arr[5]={7,1,2,3,4};
 printf("arr data >= aver number : %d/n",DetectArray(arr,5));

}

int DetectArray(double array[],int n){

 int i,counte;
 double aver,sum;
 aver=0;
 sum=0;
 counte=0;
 for(i=0;i<n;i++){
  sum=*(array+i)+sum;
 }
 aver=sum/n;
 for(i=0;i<n;i++){
  if(aver<=*(array+i)){
   ++counte;
  }
 }
 return counte;
}