1. 

/**
 * Angewandte Mathematik, SS09, IFB 2C
 * ACM Problem #10370 Above Average
 *
Link:
http://icpcres.ecs.baylor.edu/onlinejudge/index.php?option=com_onlinejudge&Itemid=8&category=15&page=show_problem&problem=1311
 *
 * @author Mohr
 * @author Schirm
 * @author Mathauser
 * @version 1.0, 03/30/2009
 *
 * Status : Accepted
 * Runtime:  0.230
 */

 
import java.io.BufferedReader;
import java.io.InputStreamReader;


 
public class Main {
 
    
    public static void main(String...args) throws Exception{
 
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        
        int lines = Integer.parseInt(reader.readLine());
        
            for(int i=0;i<lines;i++){
            String line = reader.readLine();
            String[] array = line.split(" ");
            int sum = 0;
            int count = 0;
            double average = 0;
            int[] intarray = new int[array.length];
                for(int j=0 ; j< array.length; j++){
                    intarray[j] = Integer.parseInt(array[j]);
                    sum += intarray[j];
                }
                sum -= intarray[0];
                average = (double)sum / (double)intarray[0];
                
                for(int j=1 ; j< array.length; j++){
                    if( intarray[j] > average)
                        count++;
                }
                System.out.printf("%.3f",((double)count / (double)intarray[0]*100));
                System.out.println("%");
            }
}}

2.

/**
* 10370 - Above Average
*
* Studiengruppe: IFB2C
*
* Robert Reichart
* Elvin Uzeirovic
* Martin Pesl
*
* Run Time Submission Date
* 0.270 2009-04-27 14:24:35
*/


import java.util.*;
public class above_average {

public static void main(String[] args) {
int number = 0;
int zahl =0;
int a = 0;
double d;
double tmp = 0;
Scanner sc = new Scanner(System.in);
zahl = sc.nextInt();

for(int k = 0; k < zahl; k++) {

a = 0;
int b = sc.nextInt(); // erster Wert
int[] zahlen = new int[b]; // Array f. Werte
number = 0;
for(int i = 0; i < b ; i++) {
zahlen[i]= sc.nextInt();
number += zahlen[i];
}
tmp = number/b;


for(int i = 0; i < zahlen.length; i++ ) {
if(zahlen[i] > tmp) a++;

}

d = ((double)a / b)*100;
System.out.printf("%.3f%%\n",d);
}
}

}

3.


/**
* Angewandte Mathematik, SS09, IFB 2C
* ACM Problem: Above Average (10370)
* @author Christian Mitterreiter
* @author Rolf Luigs
* @version 1.0, 04/23/2009
* Status : Accepted
* Runtime: 0.380
*/


import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
int countTests = sc.nextInt();

while(countTests > 0) {

int countStudents = sc.nextInt();
int[] numbers = new int[countStudents];
double sum = 0;
int overAverage = 0;
double average = 0;


for(int g = 0; g<numbers.length;g++) { //Array befüllen
numbers[g] = sc.nextInt();
sum+= numbers[g]; //Summe berechnen
}

average = sum/(double)countStudents; //Durchschnitt berechnen

for(int e = 0; e<numbers.length;e++) { //Anzahl der Überdurchschnittlichen
if(numbers[e] > average) overAverage++;
}

double percent = ((double)overAverage/(double)countStudents*100); //Prozentual Überdurchschnittliche

System.out.printf("%.3f%c\n",percent,'%'); //Ausgabe in xx.xxx%
countTests--;
}
}
}