本题要求编写程序,将输入的n个整数存入数组a中,然后计算这些数的平均值,再输出所有大于平均值的数。
输入格式:
输入在第1行中给出一个正整数n(1≤n≤10),第2行输入n个整数,其间以空格分隔。题目保证数据不超过长整型整数的范围。
输出格式:
输出在第1行给出平均值,保留2位小数。在第2行输出所有大于平均值的数,每个数的后面有一个空格;如果没有满足条件的数,则输出空行。
如果输入的n不在有效范围内,则在一行中输出"Invalid."。
输入样例1:
10
55 23 8 11 22 89 0 -1 78 186
输出样例1:
在这里给出相应的输出。例如:
47.10
55 89 78 186
输入样例2:
0
输出样例2:
在这里给出相应的输出。例如:
Invalid.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n =sc.nextInt();
double sum = 0;
int [] a = new int[970];//数组定义大点,不然容易卡测试点
if(n<1||n>10) {//输入的n不在有效范围内
System.out.println("Invalid.");
System.exit(0);//正常退出当前程序 System.exit(1):非正常退出当前程序
}
for (int i = 0; i < n; i++) {//输入数据,求和
a[i] = sc.nextInt();
sum += a[i];
}
sum /= n;
System.out.printf("%.2f\n", sum);
for (int i = 0; i < n; i++) {//输出所有大于平均值的数
if(a[i] > sum)
System.out.printf(a[i] + " ");
//System.out.printf("%d ",a[i]);
}
}
}