有一个班有若干名同学参加了C语言考试,现有这些同学的成绩,请计算他们的平均成绩,并输出高于平均成绩的人数。
输入数据有多组,第1行的整数T表示测试数据的组数。后面有T行,每行的第1个数n(n<=30)表示该组测试数据中的人数,后跟n个同学的成绩(均为0到100之间的整数),各成绩之间用空格分隔。
对于每组测试数据,输出结果单独占一行,分别输出平均成绩及高于平均成绩的人数,平均成绩输出两位小数,数据之间用一个空格分隔。
2 5 10 20 30 40 50 8 10 20 30 40 50 60 70 80
30.00 2 45.00 4
知识点:
1.保留两位小数输出System.out.println(String.format("%.2f",num));
2.int类型数组定义,eg:int a[]=new int[n];(类似于c++的动态内存分配);
AC代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int t;
t=input.nextInt();
for(int i=0;i<t;i++){
int n;
n=input.nextInt();
int sum=0;
int a[]=new int[n];
for(int j=0;j<n;j++){
a[j]=input.nextInt();
sum+=a[j];
}
double num=sum/n;
int k=0;
for(int u=0;u<n;u++){
if(a[u]>num) k++;
}
System.out.print(String.format("%.2f", num));
System.out.print(' ');
System.out.println(k);
}
}
}