一级
C++ 算法考级专栏
真题分析、矩阵探测、递归回溯与基础语法
🎨 视觉封面【GESP】C++一级练习 luogu-B2044, 有一门课不及格的学生
📅 2024-11-20·✍️ OneCoder·计算中...·⏱️ 5 分钟
#GESP#C++#基础语句
一级知识点条件判断练习,提供两种解题思路。
luogu-B2044
题目要求
描述
给出一名学生的语文、数学、英语成绩,判断他是否恰好有一门课不及格(成绩小于 分)。若该学生恰好有一门成绩不及格输出 ,否则输出 。
输入
一行包含三个 之间的整数,分别表示该生的语文、数学、英语成绩。
输出
该学生恰好有一门成绩不及格输出 ,否则输出 。
输入样例-1
BASH
59 60 61
输出样例-1
BASH
1
输入样例-2
BASH
59 50 59
输出样例-2
BASH
0
输入样例-3
BASH
100 100 90
输出样例-3
BASH
0
题目分析
这是一道简单的条件判断题,需要判断一个学生的语文、数学、英语成绩是否恰好有一门不及格(成绩小于 分)。我们可以使用条件判断语句来判断,如果一个学生恰好有一门成绩不及格,那么他的成绩应该有两门大于等于 分,一门小于 分。
我们可以使用三个条件判断来判断这个情况,分别是:
- 如果语文和数学都大于等于 ,并且英语小于 ,则输出 ;
- 如果语文小于 ,并且数学和英语都大于等于 ,则输出 ;
- 如果数学小于 ,并且语文和英语都大于等于 ,则输出 ;
- 如果上述条件都不满足,输出 。
示例代码
CPP
#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。
CPP
#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,表示程序执行成功
}
💡 OneCoder 资源指引
所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI
🤝 技术交流与答疑
欢迎加入:C++ GESP/CSP 考级答疑群(688906745) 与 Java/Python交流群(982860385),点击可直接加群。
📚
猜你想读 · 相关文章推荐
OneCoder (lihongzheshuai)
一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com
💬 读者留言与交流
还没有留言,快来成为第一个讨论者吧!