数组习题
day 2020 / 03 / 01
2.写一个函数,计算一个整数数组的平均值
3.自定义一个整数数组a,读入一个整数n,如果n在数组中存在,则输出n的下标;如果不存在,输出-1。
4.给定一个数组,输出数组中的最大值和最小值。
5.给定一个数组,把这个数组中所有元素顺序进行颠倒。
6.完成数组的冒泡排序算法
给定一个数组:int[]a={1,3,2,7,5}利用冒泡排序对其按照从小到大的顺序排序,然后输出结果。
import java.util.Scanner;
public class HomeWork {
public static void main(String[] args) {
int[] strings = {45,2,3,5,42,35};
//第二题
System.out.println(foreach(strings));
Scanner in = new Scanner(System.in);
//第三题
System.out.println("请输入一个整数");
System.out.println(each(strings,in.nextInt()));
//第四题
maxMin(strings);
System.out.println("最大值"+max+"最小值"+min);
//第五题
int[] b = reverse(strings);
for (int i = 0; i < b.length; i++)
System.out.print(b[i]+",");
System.out.println();
//第六题
bubbling(strings);
for (int i = 0; i < strings.length; i++)
System.out.print(strings[i]+",");
}
static int nums =0;
public static int foreach(int[] strs){
for(int s:strs){
nums = nums+s;
};
return nums/strs.length;
}
public static int each(int[] strs,int n){
int i =-1;//记录下标
for(int s:strs){
i++;
if(s==n){
return i;
}
}
return -1;
}
static int max =0;
static int min =0;
public static void maxMin(int[] strs){
min = strs[0];
max = strs[0];
for(int s:strs){
if(s>max){
max=s;
}
if (s<min){
min=s;
}
}
}
public static int[] reverse(int[] a) {
int[] b = new int[a.length];
int n = a.length - 1;
for (int i = 0; i < a.length; i++) {
b[n] = a[i];
n--;
}
return b;
}
public static int[] bubbling(int[] a){
int i,j,t;
for(i=1;i<=a.length-1;i++)
for(j=0;j<a.length-i;j++) {
if (a[j] > a[j + 1]) {
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
return a;
}
}