1048:有一门课不及格的学生

1048:有一门课不及格的学生

时间限制: 1000 ms    内存限制: 65536 KB

【题目描述】

给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。若该生恰好有一门课不及格,输出1;否则输出0。

【输入】

一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。

【输出】

若该生恰好有一门课不及格,输出1;否则输出0。

【输入样例】

50 80

【输出样例】

1

说明:

主要考查对if条件语句的理解,以及逻辑运算符的应用。

思路分析:

重点理解“恰好有有一门不及格”。我们知道,n<60不及格,n>=60及格。

所以:

如果语文及格,并且数学不及格,则输出1。

如果语文不及格,并且数学及格,则输出1。

如果语文及格,并且数学及格,则输出0。

如果语文不及格,并且数学不及格,则输出0。

根据这一逻辑,那么有:

if ((a>=60 && b<60) || (a<60 && b>=60))

 cout << 1;

else

    cout << 0;

其中,a代表语文成绩,b代表数学成绩。

&&运算符的优先级比||运算符的优先级高,所以也可以写成:

if (a>=60 && b<60 || a<60 && b>=60)

数据类型:题目已指明成绩是整数和成绩的范围是0~100,所以数据类型可以取unsigned类型或int类型。而且也无需判断输入的成绩的范围是否在0~100之内的问题。



**求解过程:**

声明两个整型类型变量a和b。

输入两个数给变量a和b。

如果恰好有一门不及格,则输出1。

否则输出0。



其他解法:

也可以采用上一题《【题解】1047:判断能否被3,5,7整除》的思路,见方法2。

参考代码 - C++:

// 方法1

#include <iostream>
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 <iostream>
using namespace std;
int main()
{
    int a, b;
    cin >> a >> b;
    bool b1 = a < 60, b2 = b < 60;
    if (b1 + b2 == 1) cout << 1;
    else cout << 0;
    return 0;
}

参考代码 - C语言:

#include <stdio.h>
int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    if (a >= 60 && b < 60 || a < 60 && b >= 60)
    	printf("1");
    else
        printf("0");
    return 0;
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值