C++设计一次考试共考了语文、代数和外语三科。某小组共有九人,考后各科及格名单如下表,请编写算法找出三科全及格的学生的名单(学号)。 各科及格名单如下,编写程序依次输入及格学号及格情况,输出三科全及格的学生学号:
时间: 2023-06-07 21:10:05 浏览: 100
抱歉,我可以回答这个问题。以下是解题算法:
1. 创建一个字典,用于记录学生及其成绩情况。
2. 依次输入学生及格情况,将学号和及格科目以键值对的形式存入字典中。
3. 遍历字典,查找同时及格语文、代数和外语三科的学生。
4. 输出三科全及格的学生学号。
代码实现如下:
```
pass_dict = {} # 存储学生及格情况的字典
# 依次输入学生及格情况,并存入字典中
for i in range(9):
stu_id, chinese, algebra, foreign_language = input().split()
pass_dict[stu_id] = [chinese, algebra, foreign_language]
# 遍历字典,查找三科全及格的学生
for stu_id, pass_list in pass_dict.items():
if pass_list.count('1') == 3: # 所有科目都及格
print(stu_id)
```
需要依次输入每个学生的学号及及格情况(1表示及格,0表示不及格),例如:
```
001 1 1 1
002 1 1 0
003 0 1 1
004 1 0 1
005 0 0 1
006 1 1 1
007 0 1 0
008 1 0 0
009 0 0 0
```
运行程序后输出:
```
001
006
```
阅读全文