【题目链接】
ybt 1048:有一门课不及格的学生
OpenJudge NOI 1.4 10:有一门课不及格的学生
【题目考点】
1. 逻辑表达式
2. if…else语句嵌套
【解题思路】
语文数学恰有一门课不及格,有两种情况:语文及格但数学没及格,数学及格但语文没及格
设语文成绩为a,数学成绩为b
这两种情况的逻辑表达式分别为:
- 语文及格但数学没及格:
a >= 60 && b < 60 - 数学及格但语文没及格:
a < 60 && b >= 60
将这两个表达式用||连接,即表示"语文数学恰有一门课不及格"的情况
【题解代码】
解法1:用逻辑表达式
用if语句
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a, b;
cin>>a>>b;
if(a < 60 && b >= 60 || a >= 60 && b < 60)
cout<<1;
else
cout<<0;
return 0;
}
解法2:用逻辑表达式
直接输出表达式的值
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a, b;
cin>>a>>b;
cout<<(a < 60 && b >= 60 || a >= 60 && b < 60);
return 0;
}
解法3:if语句嵌套
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a, b;
cin>>a>>b;
if(a < 60)
{
if(b >= 60)
cout<<1;
else
cout<<0;
}
else
{
if(b >= 60)
cout<<0;
else
cout<<1;
}
return 0;
}

1万+





