不论用什么语言,写一个程序

输入一组数组,该数组长度<=10,输出该数组内的最大值和中间值

比如:输入1,2,3,4;输出max=4,mid=2,3
输入1,2,3;输出max=3,mid=2

var arr=[1,2,5,5];
var i,j,max;
max=arr[0]
for(i=1; i if(arr[i]>max)
max=arr[i];
}
if(arr.length%2==0){
mid=[arr[arr.length/2-1],arr[arr.length/2]];
}else{
mid=arr[Math.floor(arr.length/2)];
}

用Java写的 有点啰嗦 希望可以帮到你

package DD;

import java.util.Scanner;

public class Find {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner scan=new Scanner(System.in);
    System.out.print("Now,please enter the number that can represent the number of the array:");
    int number=scan.nextInt();
    int[] a=new int[number];
    System.out.println("Start to enter numbers:");
    for(int i=0;i<number;i++){
        a[i]=scan.nextInt();
    }

    int Mid1=a[number/2];
    int Mid2=func1(a,number);
    int Max=func2(a,number);
    if(number%2==1){
        System.out.println("The Max:"+Max+"    The Mid:"+Mid2);
    }else{
        System.out.println("The Nax:"+Max+"    The Mid:"+Mid2+"  ,  "+Mid1);
    }
    }
 static int func1(int A[],int n){
        if(n%2==1){
            int i,j;
            for(i=0,j=n-1;i!=j;i++,j--); ;
            return A[i];
        }
        else
            return A[n/2-1];
}
 static int func2(int A[],int n){
     int ii;
     for(int j=1;j<n;j++){
         if(A[j]>A[0]){
             ii=A[j];
             A[j]=A[0];
             A[0]=ii;
         }
     }
     return A[0];
 }

}


不同的语言都提供了Math类完成常用的算术功能的,如果自己实现,先定义一个max变量指向数组的第一个元素,然后依次遍历数组,比较每个元素和max,修正max。
如果用API的话,Java提供的Math方法就有min和max方法。
学习编程还是要靠自己练习呢。

3楼写的挺好的 再加个限制条件 长度小于等于10

public class Test {
public static void main(String[] args){
Integer[] array={5,5454,565,45643};
List list = getMiddleList(array);
if(list.size()>0){
System.out.print("max="+list.get(0)+",min=");
}
for (int i = 1,len=list.size(); i < len; i++) {
if(i==len-1){
System.out.print(list.get(i));
}else{
System.out.print(list.get(i)+",");
}
}
}

public static List getMiddleList(Integer[] array){
List list=new ArrayList();
if(array==null || array.length==0){
return list;
}
Arrays.sort(array);
list.add(array[array.length-1]);
if(array.length==1){
list.add(array[array.length-1]);
}else{
if(array.length%2==0){
list.add(array[array.length/2-1]);
list.add(array[array.length/2]);
}else{
list.add(array[array.length/2]);
}
}
return list;
}
}

如果只使用数组解决问题的话,那么需要排序,无论是选择排序还是冒泡排序,可以直接获取最大值,以及根据数组中元素的个数确定中间值。但是用集合的话就比较简单,因为集合本身具有排序功能。这里给出使用集合的方式的代码:

 public class MaxAndMid {
    public static void main(String[] args) {
        Integer[] arr = {1,9,5,8,7};
        String maxAndMid = getMaxAndMid(arr);
        System.out.println(maxAndMid);
    }

    public static String getMaxAndMid(Integer[] arr) {
        //将数组转化成集合
        List<Integer> list = Arrays.asList(arr);
        //数据排序
        Collections.sort(list);
        String mid = "";
        //获取中间的值
        int size = list.size();
        if( size % 2 != 0){
            mid = list.get(size/2)  +"";
        }else{
            mid = list.get(size/2-1) + "," + list.get(size/2);
        }

        return "max =" + list.get(size-1) + ", " +"mid = "+mid;
    }
}
 package aa;

import java.util.Arrays;

public class FindArr {
    public static void main(String[] args) {
        int[] arr = { 1, 2, 5, 4, 3, 6, 9, 7, 8 };
        FindArr(arr);
    }

    static void FindArr(int[] arr) {
        if (arr.length > 10) {
            System.out.println("长度大于10,不符合要求");
        } else {
            Arrays.sort(arr);
            int lenth = arr.length;
            if (lenth % 2 == 1) {
                System.out.println("max=" + arr[lenth - 1]);
                System.out.println("mid=" + arr[(lenth - 1) / 2]);
            } else {
                System.out.println("max=" + arr[lenth - 1]);
                System.out.print("mid=" + arr[(lenth - 1) / 2] + ",");
                System.out.println(arr[(lenth - 1) / 2 + 1]);
            }
        }

    }

}

方法如下:
public static Map getMid(Object[] arr) {
if(arr.length == 0) {
return null;
}

    Map<String, Object[]> map = new HashMap<String, Object[]>();
    if(arr.length % 2 == 0) {
        Arrays.sort(arr);
        Object[] max = {arr[arr.length-1]};
        map.put("max", max);
        Object[] mid = {arr[arr.length/2],arr[arr.length/2+1]};
        map.put("mid", mid);

        return map;
    }else {
        Arrays.sort(arr);
        Object[] max = {arr[arr.length-1]};
        map.put("max", max);
        Object[] mid = {arr[arr.length/2]};
        map.put("mid", mid);
        return map;
    }

}

    测试如下:
     Integer[] arr = {1,5, 8, 4, 32,222, 22222};
    System.out.println(getMid(arr).get("mid")[0]);
    System.out.println(getMid(arr).get("max")[0]);
结果如下:
8

22222