B2044 有一门课不及格的学生

· · 题解

Content

给出一名学生的语数英三门成绩,请判断该名学生是否恰好有一门不及格(成绩小于 60 分)。

数据范围:成绩在 0\sim 100 之间。

Solution

强烈建议先去做 B2019。

这道题目和 B2019 有什么关系呢?没错!我们想着把这个“成绩小于 60 分”当做是一个数值,因为如果“成绩小于 60 分”为真,它的值就是 1,否则它的值就是 0。因此我们只需要把三门的“成绩小于 60 分”这个条件是否满足当做是一个数值加起来,最后只需要看最终的结果是否是 1 就好了。

Code

#include <iostream>
using namespace std;

int main() {
    int a[3],tot=0;
    for(int i=0; i<=2; i++) {
        cin>>a[i];
        tot+=(a[i]<60);
    }
    if(tot==1) {
        cout<<1;
    } else {
        cout<<0;
    }
    return 0;
}