输入在第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
acetao
a=list(map(int,input().split()))
n,res=a[0],[]
for i in a[n+2:]:
res.append(str(a[1:n+1].count(i)))
print(" ".join(res))
a,b,c,res=input(),list(map(int,input().split())),list(map(int,input().split())),[]
for i in c[1:]:
res.append(str(b.count(i)))
print(" ".join(res))
//本代码思路:使用map装入数据,key装成绩,value装人数,然后按查询输出结果
import java.util.Scanner;
import java.util.Map;
import java.util.TreeMap;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
Map<Integer,Integer> map = new TreeMap<>();
for(int i=0;i<n;i++){
int k = sc.nextInt();
if(map.containsKey(k)){
map.put(k,map.get(k)+1);
}else{
map.put(k,1);
}
}
int num = sc.nextInt();
for(int i=0;i<num;i++){
int key = sc.nextInt();
if(map.containsKey(key)){
System.out.print(map.get(key));
}else{
System.out.print(0);
}
if(i != num-1){
System.out.print(" ");
}
}
}
}
}
#include<iostream>using namespace std;intmain(){longN,k;intStuGrade[10000],FinGrade[10000],FinResult[10000];cin>>N;inti,j;for(i=0;i<N;i++)cin>>StuGrade[i];cin>>k;for(i=0;i<k;i++)cin>>FinGrade[i];//find the same grade,statistic the numberfor(i=0;i<k;i++){for(j=0;j<N;j++){if(FinGrade[i]==StuGrade[j])FinResult[i]++;}cout<<FinResult[i];if(i<k-1)cout<<" ";}return0;}
#include <iostream>
using namespace std;
int CountScore(int a[],int n,int score)
{
int count=0;
for(int i=0;i<n;i++)
{
if(a[i]==score)
{
count++;
}
}
return count;
}
int main()
{
int n,k,score;
int a[10001]={0};
cin>>n;
for(int i=0;i<n;i++)
{
cin>>score;
a[i]=score;
}
cin>>k;
for(int i=0;i<k;i++)
{
cin>>score;
if(i!=k-1)cout<<CountScore(a,n,score)<<" ";
else cout<<CountScore(a,n,score);
}
return 0;
}
import java.util.Scanner;
/**
* 跟奥巴马一起编程
* 题目描述
* 美国***奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的***。
* 2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。
* 现在你也跟他一起画吧!
* 输入描述:
* 输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格。
* 输出描述:
* 输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的
* 行数实际上是列数的50%(四舍五入取整)。
* 输入例子:
* 10 a
* 输出例子:
* aaaaaaaaaa
* a a
* a a
* a a
* aaaaaaaaaa
*
* @author shijiacheng
* @date 2018/1/31
*/
public class B1026CodingWithObama {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String c = sc.next();
int row = N / 2;
if (N % 2 != 0) {
row = N / 2 + 1;
}
if (row == 2) {
for (int i = 0; i < N; i++) {
System.out.print(c);
}
System.out.println();
for (int i = 0; i < N; i++) {
System.out.print(c);
}
} else {
for (int i = 0; i < N; i++) {
System.out.print(c);
}
System.out.println();
for (int i = 0; i < row - 2; i++) {
System.out.print(c);
for (int j = 0; j < N - 2; j++) {
System.out.print(" ");
}
System.out.print(c);
System.out.println();
}
for (int i = 0; i < N; i++) {
System.out.print(c);
}
}
}
}
#include<iostream>
using namespace std;
int main(){
int N, n, temp, hash[101] = {0};
cin>>N;
while(N--){
cin>>temp;
hash[temp]++;
}
cin>>n;
while(n--){
cin>>temp;
cout<<hash[temp]<<((n >= 1)?" ":"");
}
return 0;
} import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] sorce = new int[101];
for (int i=0;i<n;i++){
sorce[in.nextInt()]++;
}
int m = in.nextInt();
for (int i=0;i<m;i++){
if (i == m - 1) {
System.out.print(sorce[in.nextInt()]);
}else {
System.out.print(sorce[in.nextInt()]+" ");
}
}
}
} #include <iostream>
using namespace std;
int main(int argc, char** argv) {
int arr[101] = {0}, re[101] = {0};
int nums, score;
cin >> nums;
for(int i = 0; i < nums; i++){
cin >> score;
arr[score]++;
}
cin >> nums;
for(int i = 0; i < nums; i++){
cin >> score;
arr[score] == 0 ? re[i] = 0 : re[i] = arr[score];
}
for(int i = 0; i < nums; i++){
cout << re[i];
if(i!=nums-1) cout << " ";
}
return 0;
} #include<iostream> using namespace std; int main(){ int n; cin>>n; int score[n]; for(int i=0;i<n;i++){ cin>>score[i]; } int count; cin>>count; int Find_Score[count]; for(int i=0;i<n;i++){ cin>>Find_Score[i]; } for(int i=0;i<count;i++){ int N=0; for(int j=0;j<n;j++){ if(score[j]==Find_Score[i]){ N++; } } cout<<N; if(i<count-1) cout<<" "; } }
一点弯都没有,但在官网上会运算超时,看来不能用双重for循环,真是难为我这初学者。
#include
int main ()
{
int N, i;
scanf("%d",&N);
int a[N];
for (i = 0;i < N;i++){
scanf("%d",&a[i]);
}
int K, j;
scanf("%d",&K);
int s[K], n[K];
for (j = 0;j < K;j++){
scanf("%d",&s[i]);
n[j] = 0;
for (i = 0;i < N;i++){
if (a[i] == s[j]){
n[j]++;
}
}
printf("%d ",n[j]);
}
printf("%d",n[K - 1]);
return 0;
} #include<stdio.h>
int main (){//the shorter,the better.
int n,i,t;
for(;~scanf("%d",&n);){
int s[100];for (i = 0; i < n&&~scanf("%d",&t);++s[t],i++);
for (scanf("%d",&n),i = 0; i < n&&~scanf("%d",&t);++i,printf(i==n?"%d\n":"%d ",s[t]));
}
}
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int N = sc.nextInt();
int num[] = new int[101];//用以存储每个分数段的人数。
for(int i = 0; i < N; i++){
num[sc.nextInt()]++;
}
int K = sc.nextInt();
for(int i = 0; i < K; i++){
System.out.print(num[sc.nextInt()]);
if(i != K-1)
System.out.print(" ");
}
}
sc.close();
}
} importjava.util.HashMap;importjava.util.Map;importjava.util.Scanner;/** 题目有坑,输入格式表达有问题,应该是一次性输入学生数目,成绩,查询数目,查询分数,这些都是在一行 */publicclassMain {publicstaticvoidmain(String[] args) {// TODO Auto-generated method stubMap<Integer,Integer> stu = newHashMap<>();Scanner sc = newScanner(System.in);intnum = sc.nextInt();for(inti=0;i<num;i++) {inttmp = sc.nextInt();if(stu.containsKey(tmp)){stu.put(tmp, stu.get(tmp)+1);}else{stu.put(tmp, 1);}}intsearchNum = sc.nextInt();for(inti = 1;i<searchNum;i++){inttmp = sc.nextInt();if(stu.containsKey(tmp)){System.out.print(stu.get(tmp)+" ");}else{System.out.print(0+" ");}}inttmp = sc.nextInt();if(stu.containsKey(tmp)){System.out.println(stu.get(tmp));}else{System.out.print(0);}}}
#include
int main(){
int mark[101] = {0}, n, score, m[101], i = 0, j;
scanf("%d", &n);
while (n--){
scanf("%d", &score);
mark[score]++;
}
scanf("%d", &n);
j = n;
while (n--){
scanf("%d", &score);
m[i] = score;
i++;
}
for (i = 0; i < j; i++)
i != j - 1 ? printf("%d ", mark[m[i]]) : printf("%d", mark[m[i]]);
return 0;
}
//果断妙计,数组都快被玩坏了~哈哈哈
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()){
int n=in.nextInt();
int[] score=new int[101];
for (int i = 0; i < n; i++) {
int tn=in.nextInt();
score[tn]++;
}
int m=in.nextInt();
for (int i = 0; i < m; i++) {
int tm=in.nextInt();
if(i!=m-1){
System.out.print(score[tm]+" ");
}
else{
System.out.println(score[tm]);
}
}
}
}
}