程序实现目标:求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。
程序要求:输入:整型数组中的元素个数及各个元素。
输出:整型数组中元素的平均值,大于和小于此平均值的元素的个数。
代码如下:
package 华为机试题;
import java.util.Scanner;
/**
* @author Hutongling
*
* @time:2017年4月8日 上午10:19:21
*/
public class 求数组均值并统计 {
static double[] statisticArray(int[] data){
if(data==null ||data.length==0)
return null;
double[] result=new double[3];
result[0]=result[1]=result[2]=0;
for(int i=0;i<data.length;i++)
result[0]+=data[i];
result[0]=result[0]/data.length;
for(int i=0;i<data.length;i++){
if(data[i]>result[0])
result[1]=result[1]+1;
if(data[i]<result[0])
result[2]=result[2]+1;
}
return result;
}
public static void main(String[] args) {
Scanner inScanner=new Scanner(System.in);
while(inScanner.hasNext()){
int num=inScanner.nextInt();
int data[]=new int[num];
for(int i=0;i<num;i++)
data[i]=inScanner.nextInt();
System.out.println("平均值为:" + statisticArray(data)[0] +"\n元素大于均值的个数为:" + (int)(statisticArray(data)[1]) + "\n元素小于均值的个数为:" +(int)(statisticArray(data)[2]));
}
}
}
代码结果如下:
5
1 2 3 8 4
平均值为:3.6
元素大于均值的个数为:2
元素小于均值的个数为:3
5
1 2 3 4 5
平均值为:3.0
元素大于均值的个数为:2
元素小于均值的个数为:2
5
0 0 0 0 0
平均值为:0.0
元素大于均值的个数为:0
元素小于均值的个数为:0
6
1 2 8 4 9 6
平均值为:5.0
元素大于均值的个数为:3
元素小于均值的个数为:3
9
12 15 1 8 1 9 25 24 23
平均值为:13.11111111111111
元素大于均值的个数为:4
元素小于均值的个数为:5
4
-1 -2 0 3
平均值为:0.0
元素大于均值的个数为:1
元素小于均值的个数为:2