import java.util.Scanner;
public class p1157 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
if(n==0){
return;
}
int[] a = new int[n];
for (int i = 0; i < a.length; i++) {
a[i] = sc.nextInt();
}
mySort(a);
System.out.println(a[a.length / 2]);
}
}
public static void mySort(int[] a) {// 快排
for (int i = 0; i < a.length - 1; i++) {
int temp = i;
for (int j = i + 1; j < a.length; j++) {
if (a[temp] > a[j]) {
temp = j;// 记下最小的数
}
}
if (temp != i) {
a[temp] = a[temp] ^ a[i];
a[i] = a[temp] ^ a[i];
a[temp] = a[temp] ^ a[i];
}
}
}
}
首先:是无限输入,当输入零时结束(通过观看c代码总结出,非题意所给)
目标:求出输入母羊数的中间数(N是奇数)
方法:对输入的数据进行*快排*(其他的排序也行,但是不要超时)
5 2 4 1 3 5
3HintINPUT DETAILS: Five cows with milk outputs of 1..5 OUTPUT DETAILS: 1 and 2 are below 3; 4 and 5 are above 3.
原文:http://blog.csdn.net/hncu1306602liuqiang/article/details/46287875