有一门课不及格的学生

有一门课不及格的学生

一级知识点条件判断练习,提供两种解题思路。

luogu-B2044

题目要求

描述

给出一名学生的语文、数学、英语成绩,判断他是否恰好有一门课不及格(成绩小于 6060 分)。若该学生恰好有一门成绩不及格输出 11,否则输出 00

输入

一行包含三个 01000 \sim 100 之间的整数,分别表示该生的语文、数学、英语成绩。

输出

该学生恰好有一门成绩不及格输出 11,否则输出 00

输入样例-1

59 60 61

输出样例-1

1

输入样例-2

59 50 59

输出样例-2

0

输入样例-3

100 100 90

输出样例-3

0

题目分析

这是一道简单的条件判断题,需要判断一个学生的语文、数学、英语成绩是否恰好有一门不及格(成绩小于 6060 分)。我们可以使用条件判断语句来判断,如果一个学生恰好有一门成绩不及格,那么他的成绩应该有两门大于等于 6060 分,一门小于 6060 分。

我们可以使用三个条件判断来判断这个情况,分别是:

  1. 如果语文和数学都大于等于 6060,并且英语小于 6060,则输出 11
  2. 如果语文小于 6060,并且数学和英语都大于等于 6060,则输出 11
  3. 如果数学小于 6060,并且语文和英语都大于等于 6060,则输出 11
  4. 如果上述条件都不满足,输出 00

{% 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 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on