写出PTA中6-2 统计专业人数题目答案

时间: 2024-03-14 11:45:46 浏览: 24
根据题目描述,我们需要统计指定专业的学生人数。具体来说,我们需要读入一个整数 N,表示学生的总人数,然后再读入 N 行数据,每行数据包含两个字符串 S 和 T,表示该学生的姓名和所在专业。我们需要统计指定专业的学生人数,并输出结果。 以下是参考代码(C++实现): ```c++ #include <iostream> #include <string> #include <map> using namespace std; int main() { int n; string s, t; map<string, int> cnt; // 用map存储每个专业的人数 cin >> n; while (n--) { cin >> s >> t; cnt[t]++; // 统计每个专业的人数 } cin >> t; // 读入指定专业 cout << cnt[t] << endl; // 输出结果 return 0; } ``` 例如,输入数据如下: ``` 5 Tom CS Jerry EE Mike EE Mary CE John CS EE ``` 则输出结果为: ``` 2 ``` 表示 EE 专业的学生人数为 2。
相关问题

pta 7-8 成绩统计2

好的,这里给出 PTA 7-8 成绩统计2 的题目描述和 Python 3 代码实现。 ## 题目描述 本题要求读入 N(1 <= N <= 1000)个成绩,统计其中的优秀(>=85)、良好([70, 85))、及格([60, 70))和不及格(<60)的人数,并输出统计结果。当某一类成绩的人数为0时,不输出该行。 ## 输入格式 输入的第一行为正整数 N,表示输入成绩的个数。 接下来 N 行,每行为一个整数,表示一个成绩。 ## 输出格式 统计结果,四行,每行输出一个整数,分别表示优秀、良好、及格和不及格的人数。 ## 输入样例 ``` 10 60 75 90 55 70 82 100 67 74 80 ``` ## 输出样例 ``` 2 5 2 1 ``` ## 代码实现 ```python n = int(input()) # 输入成绩个数 # 初始化四个计数器,分别统计优秀、良好、及格和不及格的人数 excellent = 0 good = 0 passing = 0 failing = 0 # 循环读入 n 个成绩,并统计各个类别的人数 for i in range(n): score = int(input()) # 读入一个成绩 if score >= 85: excellent += 1 elif score >= 70: good += 1 elif score >= 60: passing += 1 else: failing += 1 # 输出各个类别的人数(如果人数为 0,则不输出该行) if excellent > 0: print(excellent) else: print("N/A") if good > 0: print(good) else: print("N/A") if passing > 0: print(passing) else: print("N/A") if failing > 0: print(failing) else: print("N/A") ``` 代码说明: 1. 首先输入成绩个数 n; 2. 然后初始化四个计数器 excellent、good、passing 和 failing,分别用于统计优秀、良好、及格和不及格的人数,初始值都为 0; 3. 接着使用 for 循环,循环 n 次,每次读入一个成绩 score,并使用 if 语句判断该成绩属于哪个类别,然后累加相应的计数器; 4. 循环结束后,使用 if 语句,判断各个类别的人数是否为 0,如果不为 0,则输出该类别的人数,否则输出 "N/A"。 5. 完成以上步骤,即可得到各个类别的人数统计结果。 希望能帮助到您!

pta6-2 二叉树的遍历用Java写出来

这里给出二叉树的先序遍历、中序遍历、后序遍历以及层序遍历的 Java 代码实现。 定义二叉树节点类: ```java class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } ``` 先序遍历: ```java public void preorderTraversal(TreeNode root) { if (root == null) return; System.out.print(root.val + " "); preorderTraversal(root.left); preorderTraversal(root.right); } ``` 中序遍历: ```java public void inorderTraversal(TreeNode root) { if (root == null) return; inorderTraversal(root.left); System.out.print(root.val + " "); inorderTraversal(root.right); } ``` 后序遍历: ```java public void postorderTraversal(TreeNode root) { if (root == null) return; postorderTraversal(root.left); postorderTraversal(root.right); System.out.print(root.val + " "); } ``` 层序遍历: ```java public void levelOrderTraversal(TreeNode root) { if (root == null) return; Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root); while (!queue.isEmpty()) { int size = queue.size(); for (int i = 0; i < size; i++) { TreeNode node = queue.poll(); System.out.print(node.val + " "); if (node.left != null) queue.offer(node.left); if (node.right != null) queue.offer(node.right); } } } ``` 以上代码中,使用了队列来实现层序遍历,每次将队头节点出队,并将其左右子节点入队,直到队列为空。

相关推荐

最新推荐

recommend-type

PTA题目(L1)(Java).docx

PTA团体程序设计竞赛题目集L1部分所有题目答案及解析,更新至2021年
recommend-type

PTA-条件与循环-求所有由1、2、3、4这4个数字组成的素数

编写程序prime.py,输出所有由1、2、3、4这4个数字组成的素数,并且在每个素数中每个数字只使用一次。 输入输出 输入格式: 包含4个一位数的元组 输出格式: 按从小到大顺序输出在一行上,每个素数之间用一个空格隔开 ...
recommend-type

JAVA题库习题及答案--.doc

JAVA题库习题及答案,JAVA题库习题及答案,JAVA期末试卷题库习题及答案,JAVA题库习题及答案
recommend-type

nodejs-x64-0.10.21.tgz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

node-v4.1.1-linux-armv6l.tar.xz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用matlab绘制高斯色噪声情况下的频率估计CRLB,其中w(n)是零均值高斯色噪声,w(n)=0.8*w(n-1)+e(n),e(n)服从零均值方差为se的高斯分布

以下是用matlab绘制高斯色噪声情况下频率估计CRLB的代码: ```matlab % 参数设置 N = 100; % 信号长度 se = 0.5; % 噪声方差 w = zeros(N,1); % 高斯色噪声 w(1) = randn(1)*sqrt(se); for n = 2:N w(n) = 0.8*w(n-1) + randn(1)*sqrt(se); end % 计算频率估计CRLB fs = 1; % 采样频率 df = 0.01; % 频率分辨率 f = 0:df:fs/2; % 频率范围 M = length(f); CRLB = zeros(M,1); for
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。