PAT乙级-1038. 统计同成绩学生(20)-详解+代码

原创 2018年04月16日 16:33:01

题目:PAT乙级 1038. 统计同成绩学生(20)

本题要求读入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

思路:

    拿到题目后,明显感觉这是一个简单的遍历,但是如果简单的根据最后输入的成绩去遍历初始化的成绩列表的话,两重循环时间我猜测会超限,所以这是一个用存储空间换取访问时间的问题。首先建立成绩数组,使每个成绩即为数组下标,在读入初始成绩时改变成绩数组,这样在第二次读取成绩的时候可以直接根据数组下标来索引到该成绩的学生个数,减少了遍历时间。

P.S:老问题,最后输出最后一个数字后不要有空格(退格也不行)。


#include<stdio.h>
#define N 101
int main()
{
	int i,n,num,score;
	int a[N] = { 0 };//成绩数组
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%d", &score);
		a[score]++;
	}
	scanf("%d", &num);
	for (i = 0; i < num-1; i++)
	{
		scanf("%d", &score);
		printf("%d ", a[score]);//直接找索引
	}
	scanf("%d", &score);
	printf("%d", a[score]);
	return 0;
}

版权声明:转载请联系博主、标明出处 https://blog.csdn.net/jyfbug/article/details/79962335

1038. 统计同成绩学生

本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入格式: 输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要...
  • chr1991
  • chr1991
  • 2016年02月21日 08:27
  • 309

PATBasic——1038. 统计同成绩学生(20)

1038. 统计同成绩学生(20) 时间限制 250 ms 内存限制 65536 kB 代码长度限制 8000 B ...
  • fynjy
  • fynjy
  • 2015年06月30日 14:41
  • 1581

PAT 乙级 1038. 统计同成绩学生(20)

1038. 统计同成绩学生(20) 本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入格式: 输入在第1行给出不超过105的正整数N,即学生总人...
  • toddphk
  • toddphk
  • 2017年01月06日 14:01
  • 336

pat 乙级 1038. 统计同成绩学生(20)

代码实现:: #include using namespace std; int a[100005]={0}; int main(int argc, char *argv[]) { i...
  • qikai121521
  • qikai121521
  • 2017年09月06日 21:23
  • 81

PAT乙级—1038. 统计同成绩学生(20)-native

本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的...
  • wanmeiwushang
  • wanmeiwushang
  • 2016年05月22日 00:08
  • 543

浙江大学PAT乙级试题.1038. 统计同成绩学生(20)C语言

本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的...
  • weixin_41542986
  • weixin_41542986
  • 2018年02月18日 18:05
  • 17

PAT.A1038. 统计同成绩学生

本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的...
  • mokena1
  • mokena1
  • 2018年03月20日 00:59
  • 4

1038. 统计同成绩学生(20)-浙大PAT乙级真题java实现

个人博客:打开链接 1038. 统计同成绩学生(20) 本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入格式: 输入在第1行给出不超过 10^5 的正整数N,即学生总人数。...
  • JingLisen
  • JingLisen
  • 2018年01月23日 14:11
  • 72

第二周上机实践项目——学生成绩统计

/* *程序的版权和版本声明部分: *Copyright(c)2013,烟台大学计算机学院学生 *...
  • u012369385
  • u012369385
  • 2014年03月04日 15:22
  • 935

1038. 统计同成绩学生(20)--Python

测试点3老是提示运行超时,从网上找思路发现说是在处理大数据时,会运行超时。而且看到了某博中有使用python写的程序,非常的简洁,但是提交后也是提醒运行超时,在牛客上也运行不了,还是要再改改,未完待续...
  • baidu_38271024
  • baidu_38271024
  • 2017年11月24日 18:50
  • 126
收藏助手
不良信息举报
您举报文章:PAT乙级-1038. 统计同成绩学生(20)-详解+代码
举报原因:
原因补充:

(最多只允许输入30个字)