Java 求一个整型数组元素中最接近其平均值的整数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 求一个整型数组元素中最接近其平均值的整数相关的知识,希望对你有一定的参考价值。
int[] a = 13,46,41,11,20,3,6,41,89,65,24,11; //数组double sum = 0; //所有元素和
double average = 0; //平均值
double phase = 0;
int b = 0;
for (int i = 0; i < a.length; i++)
sum += a[i];
average = sum / a.length;
System.out.println("平均值" + average);
phase = Math.abs(average - a[0]);
for (int i = 0; i < a.length; i++)
if (phase > Math.abs(average - a[i]))
phase = Math.abs(average - a[i]); //差值的绝对值
b = a[i];
System.out.println("最接近其平均值的整数" + b); 参考技术A 算出平均值,加入数组中进行排序,再算平均值与前后的值那个相差最小,噢啦,还可以先排好序,在拿平均值去插,判断他与前后数组的差, 最小的那个就是了。。。追问
大神,可不可以写出来。我这明天要考试。
参考技术B 我提供一个思路,你先求出avg() ,然后做两个循环 一个以平均数为基础++ 一个-- 每一个都往数组里面遍历 直到遍历到为止。然后算++ -- 两个之间的距离到底哪个近第六周上机
1.编写一个简单程序,要求数组长度为5,静态赋值10,20,30,40,50,在控制台输出该数组的值。 2.编写一个简单程序,要求数组长度为5,动态赋值10,20,30,40,50,在控制台输出该数组的值。 3.编写一个简单程序,定义整型数组,里面的元素是{23,45,22,33,56},求数组元素的和、平均值 4.在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。 5. 将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问) 1 package com.itheima08; public class HelloBudget { public static void main(String[] args ){ int[]arr={10,20,30,40,50}; for(int i=0;i<5;i++){ System.out.println(arr[i]); } } } 2.package com.itheima08; import java.util.*; public class HelloBudget { public static void main(String args[]) { Scanner input=new Scanner(System.in); int[]arr=new int[5]; for(int i=0;i<arr.length;i++){ System.out.println("请输入数字"); arr[i]=input.nextInt(); } System.out.println("赋值结束"); for(int i:arr){ System.out.println(i); } } } 3.package com.itheima08; public class HelloBudget { public static void main(String args[]) { int[]arr=new int[]{23,45,22,33,56}; int avg=0; int sum=0; for(int i=0;i<arr.length;i++){ sum=sum+arr[i]; } avg=sum/arr.length; System.out.println(avg); System.out.println(sum); } } 4 package com.itheima08; public class HelloBudget { public static void main(String[] args ){ int[]arr=new int[8]; arr[0]=18; arr[1]=25; arr[2]=7; arr[3]=36; arr[4]=13; arr[5]=2; arr[6]=89; arr[7]=63; int max=arr[0]; int n=0; for(int i=1;i<arr.length;i++){ if(arr[i]>max){ max=arr[i]; n=i; } } System.out.println("最大值是:"+max+"下标为:"+n); } } 5.package com.itheima08; import java.util.*; public class HelloBudget { public static void main(String args[]) { Scanner in=new Scanner(System.in); int N=in.nextInt(); int arr[]=new int[N]; for(int i=0;i<arr.length;i++){ arr[i]=in.nextInt(); } int temp; for(int i=0;i<arr.length/2;i++){ temp=arr[i]; arr[i]=arr[arr.length-i-1]; arr[arr.length-i-1]=temp; } for(int i=0;i<arr.length;i++){ System.out.println(arr[i]+""); } }
以上是关于Java 求一个整型数组元素中最接近其平均值的整数的主要内容,如果未能解决你的问题,请参考以下文章
用matlab如何求出一个数组中最接近某个数的两个数的下标??