首页 > 试题广场 >

统计同成绩学生人数

[编程题]统计同成绩学生人数
  • 热度指数:11729 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
读入N名学生的成绩,将获得某一给定分数的学生人数输出。

输入描述:
测试输入包含若干测试用例,每个测试用例的格式为


第1行:N
第2行:N名学生的成绩,相邻两数字用一个空格间隔。
第3行:给定分数

当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。


输出描述:
对每个测试用例,将获得给定分数的学生人数输出。
示例1

输入

3
80 60 90
60
2
85 66
0
5
60 75 90 55 75
75
0

输出

1
0
2
Java 解法
import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            HashMap<Integer, Integer> map = new HashMap<>();
            for (int i = 0; i < n; i++) {
                map.merge(scanner.nextInt(),1,Integer::sum);
            }
            System.out.println(map.getOrDefault(scanner.nextInt(),0));
        }
    }
}



发表于 2020-03-06 15:13:34 回复(0)
  Java实现,已通过,暴力蛮解;
import java.util.*;
public class Main
{
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        while (in.hasNextInt())
        {
          int N=in.nextInt();
            if(N==0) return;
          int[] scores=new int[N];
          for(int i=0;i<N;i++)
          {
scores[i]=in.nextInt();
          }
int score=in.nextInt();
          int count=0;
          for(int i=0;i<N;i++)
          {if(scores[i]==score) count=count+1;}
          System.out.println(count);
        }
    }
}


发表于 2020-02-22 08:37:49 回复(0)
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class GradeCount {
    public static void main(String args[]){
        Scanner scanner = new Scanner(System.in);
        List<Integer> list1 = new ArrayList<>();
            while (scanner.hasNext()) {
                int n = scanner.nextInt();
                if (n == 0) {
                    break;
                }
                List<Integer> list = new ArrayList<>();
                for (int i = 0; i < n; i++) {
                    int grade = scanner.nextInt();
                    list.add(grade);
                }
                int grade1 = scanner.nextInt();
                int count = 0;
                for (int i = 0; i < list.size(); i++) {
                    if (list.get(i).equals(grade1)) {
                        count++;
                    }
                }
                list1.add(count);
            }
            if (list1.isEmpty()){
                return;
            }
            for (int i = 0; i < list1.size(); i++) {
                System.out.println(list1.get(i));
            }
        }
}

发表于 2019-11-23 16:24:34 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int N;
        int count=0;
        while(sc.hasNext()){
            N=sc.nextInt();
            if(N==0) return;
            int[] arr=new int[N];
            for(int i=0;i<N;i++)
                arr[i]=sc.nextInt();
            count=0;
            int score=sc.nextInt();
            for(int i=0;i<N;i++){
                if(arr[i]==score)
                    count++;
            }
            System.out.println(count);
        }
    }
}
发表于 2018-07-25 09:27:43 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int N = scan.nextInt();// 输入的人数
            if (N == 0) {// 如果检测到输入的人数为0 则结束
                return;
            }
            int[] arr = new int[N];// 保存N个人的分数
            for (int i = 0; i < arr.length; i++) {
                arr[i] = scan.nextInt();
            }
            int T = scan.nextInt();// 目标分数 输出击中目标分数的个数
            int count = 0;
            for (int i = 0; i < arr.length; i++) {
                if (T == arr[i]) {
                    count++;
                }
            }
            System.out.println(count);
        }
    }
}
发表于 2018-05-14 16:55:10 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int N, mark, count;
        N = in.nextInt();
        if (N == 0) // 当读到N=0时输入结束
            return;
        int[] a = new int[N];
        for (int i = 0; i < N; i++)
            a[i] = in.nextInt();
        mark = in.nextInt();
        count = 0;
        for (int i = 0; i < N; i++)
            if ( a[i] == mark)
                count++;
        System.out.println(count);
    }
}
发表于 2018-03-17 19:41:42 回复(0)