1038 统计同成绩学生

一、题目:

本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。

输入格式:

输入在第1行给出不超过10^5^的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。

输出格式:

在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。

输入样例:

10
60 75 90 55 75 99 82 90 75 50
3 75 90 88

输出样例:

3 2 0
二、题解:因为分数在0到100之间,所以直接开一个数组用于存放分数的个数即可。用C++语言实现会超时,而C语言版本完美通过,我也没弄明白咋回事。

三、代码:(C++版运行超时):
 1 #include<iostream>
 2 using namespace std;
 3
 4 int main(){
 5     int b[101]={0};
 6     int n,m;
 7     cin>>n;
 8     for(int i=0;i<n;i++){
 9        int tmp=0;
10        cin>>tmp;
11        b[tmp]++;
12     }
13     cin>>m;
14     for(int i=0;i<m;i++){
15         int cnt;
16         cin>>cnt;
17         cout<<b[cnt];
18         if(i!=m-1) cout<<" ";
19     }
20     return 0;
21 }

(C语言版答案正确):

 1 #include<stdio.h>
 2
 3 int main(){
 4   int b[101]={0};
 5     int n,m;
 6     scanf("%d",&n);
 7     for(int i=0;i<n;i++){
 8        int tmp=0;
 9        scanf("%d",&tmp);
10        b[tmp]++;
11     }
12     scanf("%d",&m);
13     for(int i=0;i<m;i++){
14         int cnt;
15         scanf("%d",&cnt);
16         printf("%d",b[cnt]);
17         if(i!=m-1) printf(" ");
18     }
19     return 0;
20 }

原文地址:https://www.cnblogs.com/Gzu_zb/p/9381673.html

时间: 2024-10-12 17:46:13

1038 统计同成绩学生的相关文章

1038 统计同成绩学生 (20 分)

题目:1038 统计同成绩学生 (20 分) 本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 1 的正整数 N,即学生总人数.随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔.最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔. 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格. 输入样例: 10 60 75 90 55 75 99 82

P 1038 统计同成绩学生

转跳点:?? 1038 统计同成绩学生 (20分) 本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 1 的正整数 N,即学生总人数.随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔.最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔. 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格. 输入样例: 10 60 75 90 55 75 99

PAT——1038. 统计同成绩学生

本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第1行给出不超过105的正整数N,即学生总人数.随后1行给出N名学生的百分制整数成绩,中间以空格分隔.最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔. 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格. 输入样例: 10 60 75 90 55 75 99 82 90 75 50 3 75 90 88 输出样例: 3 2 0 1

1038 统计同成绩学生(20 分)

本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 10?5?? 的正整数 N,即学生总人数.随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔.最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔. 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格. 输入样例: 10 60 75 90 55 75 99 82 90 75 50 3 75 90

算法初步——哈希表B.1038统计同成绩学生

#include <bits/stdc++.h> #include<math.h> #include <string> using namespace std; const int MAX_LEN = 100005; int main(){ int n; int temp[101]; for(int i=0;i<101;++i){ temp[i] = 0; } scanf("%d",&n); int cease[n]; for(int

1038 统计同成绩学生 (20分)

#include <iostream> using namespace std; int main() { int n,k,g; int grade[101]={0}; cin>>n; int *k_grade=new int[100005];//稍微大一点 for(int i=0;i<n;i++) { cin>>g; grade[g]++; } cin>>k; for(int i=0;i<k;i++) { cin>>k_grade[

PAT 乙级 1038 统计同成绩的学生C++版

1038. 统计同成绩学生(20) 时间限制 250 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第1行给出不超过105的正整数N,即学生总人数.随后1行给出N名学生的百分制整数成绩,中间以空格分隔.最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔. 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数

A题 hdu 1235 统计同成绩学生人数

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1235 统计同成绩学生人数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 16022    Accepted Submission(s): 9214 Problem Description 读入N名学生的成绩,将获得某一给定分数的学生人数输

九度OJ 1018 统计同成绩学生人数

题目1018:统计同成绩学生人数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6337 解决:3419 题目描述: 读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入: 测试输入包含若干测试用例,每个测试用例的格式为 第1行:N 第2行:N名学生的成绩,相邻两数字用一个空格间隔. 第3行:给定分数 当读到N=0时输入结束.其中N不超过1000,成绩分数为(包含)0到100之间的一个整数. 输出: 对每个测试用例,将获得给定分数的学生人数输出. 样例输入: 3 80 60