有一门课不及格的学生
一级知识点条件判断练习,提供两种解题思路。
luogu-B2044
题目要求
描述
给出一名学生的语文、数学、英语成绩,判断他是否恰好有一门课不及格(成绩小于 分)。若该学生恰好有一门成绩不及格输出 ,否则输出 。
输入
一行包含三个 之间的整数,分别表示该生的语文、数学、英语成绩。
输出
该学生恰好有一门成绩不及格输出 ,否则输出 。
输入样例-1
59 60 61
输出样例-1
1
输入样例-2
59 50 59
输出样例-2
0
输入样例-3
100 100 90
输出样例-3
0
题目分析
这是一道简单的条件判断题,需要判断一个学生的语文、数学、英语成绩是否恰好有一门不及格(成绩小于 分)。我们可以使用条件判断语句来判断,如果一个学生恰好有一门成绩不及格,那么他的成绩应该有两门大于等于 分,一门小于 分。
我们可以使用三个条件判断来判断这个情况,分别是:
- 如果语文和数学都大于等于 ,并且英语小于 ,则输出 ;
- 如果语文小于 ,并且数学和英语都大于等于 ,则输出 ;
- 如果数学小于 ,并且语文和英语都大于等于 ,则输出 ;
- 如果上述条件都不满足,输出 。
{% include custom/custom-post-content-inner.html %}
示例代码
#include <iostream>
using namespace std;
int main() {
int a, b, c; // 定义三个整数变量a, b, c
cin >> a >> b >> c; // 从输入流中读取a, b, c的值
// 判断条件:如果a和b都大于等于60,并且c小于60,则输出1
if ((a >= 60 && b >= 60) && c < 60) {
cout << 1;
}
// 判断条件:如果a小于60,并且b大于等于60,并且c大于等于60,则输出1
else if ((a < 60 && b >= 60) && c >= 60) {
cout << 1;
}
// 判断条件:如果a大于等于60,并且b小于60,并且c大于等于60,则输出1
else if ((a >= 60 && b < 60) && c >= 60) {
cout << 1;
}
// 如果上述条件都不满足,则输出0
else {
cout << 0;
}
return 0; // 返回0,表示程序执行成功
}
另一种更简单的解法是,直接统计小于60的科目数量。最后判断数量是1就输出1,否则输出0。
#include <iostream>
using namespace std;
int main() {
int a, b, c; // 定义三个整数变量a, b, c
cin >> a >> b >> c; // 从输入流中读取a, b, c的值
int count = 0; // 初始化计数器count为0
// 检查a是否小于60,并增加计数器
if (a < 60) {
count++;
}
// 检查b是否小于60,并增加计数器
if (b < 60) {
count++;
}
// 检查c是否小于60,并增加计数器
if (c < 60) {
count++;
}
// 如果计数器的值为1,则输出1,否则输出0
if (count == 1) {
cout << 1;
} else {
cout << 0;
}
return 0; // 返回0,表示程序执行成功
}
{% include custom/custom-post-content-footer.md %}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
“luogu-”系列题目可在 洛谷题库 在线评测。
“bcqm-”系列题目可在 编程启蒙题库 在线评测。
GESP/CSP 认证学习微信公众号

Last updated on