答案
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int z=0,a=in.nextInt();
if(a<1||a>10)
{
System.out.println("Invalid.");
}
else {
int []num = new int[11];
for (int i = 0; i < a; i++) {
num[i]=in.nextInt();
z+=num[i];
}
double ping=z/(a*1.0);
System.out.printf("%.2f", ping);
for (int i = 0; i < a; i++) {
if (num[i]>ping) {
System.out.print(num[i]+" ");
}
}
}
}
}
思路:
1、首先就判断是否符合题目要求,如不符合,直接输出 Invalid.
2、由于最多只有10个数字,所以申请11个成员的数组是完全够用的
3、读入所有数组,并计算总和,读入完成后,计算平均值
4、使用System.out.printf语句进行格式化输出 参考文献:Java格式化输出的四种方法
5、最后遍历数组,将大于平均数的数输出
易错点:“Invalid. ”未注意大写及末尾的点,pta的题 这种输出建议直接Ctrl+c/v
不会保留两位小数输出 参考上方参考文献
整数除
仅供参考,如有更优解,可在评论区参与讨论
Comments NOTHING