题目描述
判断:两个数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>
#include<math.h>
int main()
{
int x,y,a,b;
while(scanf("%d %d",&x,&y)!=EOF)
{
a=abs(x+y);//两数之和的绝对值
b=abs(x)+abs(y);//两数绝对值之和
if(a==b&&x!=0&&y!=0)//同为正或同为负
printf("Signs are not opposot\n");
else if(a<b)//两个数是一正一负
printf("Signs are opposite\n");
else//无法确定
printf("Signs can't be sure\n");
}
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
double n,m;
while(~scanf("%lf %lf",&n,&m))
{
double s,k;
s=fabs(n+m);
k=fabs(n-m);
if(k-s>0)
printf("Signs are opposite\n");
else if(s-k>0)
printf("Signs are not opposot\n");
else printf("Signs can't be sure\n");
}
return 0;
}