答案

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

不会保留两位小数输出 参考上方参考文献

整数除

仅供参考,如有更优解,可在评论区参与讨论

届ける言葉を今は育ててる
最后更新于 2022-04-02