B2044 有一门课不及格的学生

· · 题解

题目大意

已知一名学生的语文、数学、英语三科成绩,问这个学生是不是三科中恰好有一门学科不及格?

解题思路

首先,我们要知道,这个学生必须有一门学科不及格,而且只能有一门。如果这个学生语文和数学都不及格,就不符合题目的条件。(学生:我太难了)

我的思路大概是先确定这个学生不及格的科目有几科。这里可以用三个 if 语句去枚举一下,如果这门科目不及格,计数器就 +1 。枚举完了之后再看一下,如果正好一门不及格,就输出 1 ,否则输出 0 。

代码就很简单啦:

#include<iostream>
using namespace std;
int main()
{
    int a,b,c; //学生的三科成绩
    cin>>a>>b>>c;
    int k=0;
    //k是计数器,用来存储学生有几门课不及格
    if(a<60) k++;
    if(b<60) k++;
    if(c<60) k++;
    //枚举完了之后判断是否符合要求
    if(k==1) cout<<'1'<<endl;
    else cout<<'0'<<endl;
    return 0;
}