2013
11-11

# Above Average

It is said that 90% of frosh expect to be above average in their class. You are to provide a reality check.

The first line of standard input contains an integer C, the number of test cases. C data sets follow. Each data set begins with an integer, N, the number of people in the class (1 <= N <= 1000). N integers follow, separated by spaces or newlines, each giving the final grade (an integer between 0 and 100) of a student in the class.

For each case you are to output a line giving the percentage of students whose grade is above average, rounded to 3 decimal places.

5
5 50 50 70 80 100
7 100 95 90 80 70 60 50
3 70 90 80
3 70 90 81
9 100 99 98 97 96 95 94 93 91

40.000%
57.143%
33.333%
66.667%
55.556%


import java.util.Scanner;

/**
* poj2350 easy
* @author NC
*/
public class Main {

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
if (scan.hasNext()) {
int n = scan.nextInt();
for (int i = 0; i < n; i++) {
int nn = scan.nextInt();
float sum = 0f;
int[] aa = new int[nn];
for (int j = 0; j < nn; j++) {
aa[j]= scan.nextInt();
sum = sum + aa[j];
}
float average = sum/nn;
float count = 0f;
for(int j = 0; j < nn; j++){
if(aa[j]>average){
count++;
}
}
System.out.printf("%.3f",count/nn*100);
System.out.println("%");

}
}
}
}

1. 学算法中的数据结构学到一定程度会乐此不疲的，比如其中的2－3树，类似的红黑树，我甚至可以自己写个逻辑文件系统结构来。