写出PTA中6-2 统计专业人数题目答案
时间: 2024-03-14 22:45:46 浏览: 223
根据题目描述,我们需要统计指定专业的学生人数。具体来说,我们需要读入一个整数 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题库答案c语言7-2 统计一批学生的平均成绩与不及格人数
在C语言中,要统计一批学生的平均成绩与不及格人数(通常指低于某个分数线的成绩),你可以创建一个程序结构,用于存储每个学生的信息(比如姓名和分数),然后遍历这个数组来计算总分、平均分以及不及格的学生数。以下是一个简单的示例:
```c
#include <stdio.h>
// 定义一个结构体表示学生
typedef struct {
char name[50];
int score;
} Student;
int main() {
// 假设我们有10个学生数据
Student students[] = {
{"张三", 85},
{"李四", 90},
{"王五", 60}, // 这个分数可能会被视为不及格
{"赵六", 70},
// 更多学生...
};
const int num_students = sizeof(students) / sizeof(students[0]);
int total_score = 0;
int fail_count = 0; // 初始设置为0,用于记录不及格的人数
// 遍历学生数组,累加总分并检查是否有不及格
for (int i = 0; i < num_students; ++i) {
total_score += students[i].score;
if (students[i].score < 60) { // 假设及格线是60分
fail_count++;
}
}
// 计算平均分
float average_score = (float)total_score / num_students;
printf("平均成绩: %.2f 分\n", average_score);
printf("不及格人数: %d 人\n", fail_count);
return 0;
}
```
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. 完成以上步骤,即可得到各个类别的人数统计结果。
希望能帮助到您!
阅读全文