首页 > 其他 > 详细

3.1 关系表达式与逻辑表达式

时间:2021-04-17 22:33:31      阅读:53      评论:0      收藏:0      [点我收藏+]

例 3-1

输入两个整数 a 和 b,想知道:

  1. a 是否大于 b ?
  2. a 是否小于或者等于 b ?
  3. a 是否不等于 b ?

输出 3 个整数,用空格隔开。对于每一个询问,如果成立(条件为真)输出 1,否则输出 0。

建模分析:

计算机判断真为1,假为0,所以直接判断输出即可。

#include<iostream>
using namespace std;

int main()
{
	int a,b;
	cin>>a>>b;
	cout<<(a>b)<<‘ ‘;
	cout<<(a<=b)<<‘ ‘;
	cout<<(a!=b)<<endl;
	
	return 0;
 } 

关系表达式和算术表达式的优先级排序:(从高到低)

  1. ()
  2. */%
  3. +-
  4. ><>=<=
  5. ==!=

注意: 一般不用 == 来比较两个浮点数的大小,因为浮点数存在误差。一般是判断这两个数的误差在一定小的范围内,就可以认定它们相等。例如 $ |a-b| \le 10^-6 $ 就可以认定两个浮点数相等。

例 3-2

数学性质(洛谷P5710)
一些数字可能拥有以下的性质:

性质 1:是偶数;
性质 2:大于 4 且不大于 12。
小A 喜欢这两个性质同时成立的数字;Uim 喜欢这至少符合其中一种性质的数字;八尾勇喜欢刚好有符合其中一个性质的数字;正妹喜欢不符合这两个性质的数字。

输入格式

输入一个数字 x(0≤x≤1000)

输出格式

输出这 4 个人是否喜欢这个数字,如果喜欢则输出1,否则输出0,用空格分隔。

输入输出样例

输入 输出
12 1 1 0 0

建模分析:

#include<iostream>
using namespace std;

int n;
int main()
{
    cin>>n;
    if(n%2==0 && n>4 && n<=12)
        cout<<1;
    else
        cout<<0;
    if(n%2==0 || (n>4 && n<=12))
        cout<<" "<<1;
    else
        cout<<" "<<0;
    if((n%2==0 && !(n>4 && n<=12)) || (!(n%2==0) && (n>4 && n<=12)))
        cout<<" "<<1;
    else
        cout<<" "<<0;
    if(!(n%2==0) && !(n>4 && n<=12))
        cout<<" "<<1;
    else
        cout<<" "<<0;
        
    return 0;
}

运算符优先级排序:(从高到低)

  1. ()
  2. !-(负号)、++--
  3. */%
  4. +-
  5. <<>>(左右移位)
  6. <>>=<=
  7. ==!=
  8. &&
  9. ||

例 3-3

输入一个年份(大于 1582 的整数 ),判断这一年是否是闰年,如果是输出 1,否则输出 0。

输入输出样例

输入 输出
1926 0
1900 0
2000 1
1996 1

建模分析:

知识点:现行公历制度是1582年颁行的格里历。

闰年规则:

  • 逢4一闰
  • 百年不闰
  • 400年再闰

程序可以转化成判断数字是否符合上述规则,即符合:

  • 被 4 整除
  • 不被 100 整除
  • 被 400 整除

代码如下:

#include<iostream>

using namespace std;

int a;

int main()
{
    cin>>a;
    if(a%4==0 && (a%100!=0 || a%400==0))
        cout<<1;
    else
        cout<<0;
        
    return 0;
}

3.1 关系表达式与逻辑表达式

原文:https://www.cnblogs.com/codespark/p/14672106.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!