比如17,17,18,18,21,21,22,22,22,22,22,23,23,23,23,23,24,25,25,26,26,27,27,28,29,45
public static void main(String[] args) {
int[] arr = {17,17,18,18,21,21,22,22,22,22,22,23,23,23,23,23,24,25,25,26,26,27,27,28,29,45};
//求数组的平均值
int sum = 0;
for (int j : arr) {
sum += j;
}
int average = sum / arr.length;
//打印结果:23
System.out.println(average);
//求数组的中位数
//将数组从小到大顺序排列
Arrays.sort(arr);
//判断数组元素个数是单数还是偶数;单数取中间值则是中位数,偶数取中间两个数的平均值即为中位数;
double median = 0;
//如果数组的长度除以2的余数为0,那么元素个数是偶数
if (arr.length%2==0){
int start = arr.length / 2 - 1;
int end = arr.length / 2;
median = (arr[start]+arr[end])/2.0;
}else if(arr.length%2==1){
double floor = Math.floor(arr.length / 2);
median = arr[(int) floor];
}
//打印结果23
System.out.println(median);
}
我不知道你是想要平均值还是中位数,思路代码都展示出来
啥意思?是这样吗
array = [17,17,18,18,21,21,22,22,22,22,22,23,23,23,23,23,24,25,25,26,26,27,27,28,29,45]
array[len(array) // 2]
# 结果:23
求中间值吗?
有序的数组则直接判断长度,奇数就是中间那一个,注意索引值下标
Matlab的求解极简单。
A = [17,17,18,18,21,21,22,22,22,22,22,23,23,23,23,23,24,25,25,26,26,27,27,28,29,45];
a = mean(A) % 平均值
b = median(A) % 中位数
结果:
a =
23.8077
b =
23
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html