(南阳理工acm 题目1071) 不可以!

不可以!

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
 
描述

判断:两个数x、y的正负性。

要求:不可以使用比较运算符,即"<",">","<=",">=","==","!="。

 
输入
有多组数据,每组数据占一行,每一行两个数x,y。
x、y保证在int范围内。
输出
每组数据输出占一行。
如果两个数是一正一负,输出"Signs are opposite"
如果是同为正或同为负,输出"Signs are not opposot"
如果无法确定,输出"Signs can't be sure"
输出不包括引号
样例输入
1 1
-1 1
样例输出
Signs are not opposot
Signs are opposite

#include<stdio.h> int main() { int a,b,c; while(~scanf("%d%d",&a,&b)) { c=((a>>31)&1)+((b>>31)&1); if((!a)||(!b))printf("Signs can't be sure "); else printf("Signs are %s ",c&1?"opposite":"not opposot"); } }

  

原文地址:https://www.cnblogs.com/cwenliu/p/5805493.html