不可以!

原创 2015年07月11日 01:41:10

不可以!

时间限制: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

  这题挺水的,就是不确定的选项原来是0,因为0 非正非负。
AC代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std; 
int main()
{
	int f1,f2;
	char str[15],st[15];
	while(~scanf("%s %s",&str,&st))
	{
		f1=1,f2=1;
		if(!(str[0]-'0')||!(st[0]-'0'))
		{
			printf("Signs can't be sure\n");
			continue;
		}
		if(str[0]-'-')
		{
			f1=0;
		}
		if(st[0]-'-')
		{
			f2=0;
		}
		if(f1-f2)
		{
			printf("Signs are opposite\n");
		}
		else
		{
			printf("Signs are not opposot\n");
		}
	}
	return 0;
}

最优代码:

 
#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\n");
		else printf("Signs are %s\n",c&1?"opposite":"not opposot");
	}
}        


版权声明:本文为博主原创文章,转载必须声明出处,thank。

zxing二维码不可以多次扫描

给大家看一下效果图: 最近公司开发一个项目,一个购物的项目。用到了扫描获取条形码,挺简单网上案例比较多,去谁那里有可能copy一大堆,但是往往他就是一个演示的Demo和你的有很多差距...

静态成员函数不可以访问类中的成员变量

原因:因为静态成员函数在类对象构造时没有分配this指针(非静态成员函数则具有this指针),相当于是全局函数,是属于类的,而类的成员变量只有类对象(实例)能够访问,成员变量只有实例化才有意义。 解...

redis 配置文件 不可以直接使用

  • 2017年03月20日 17:02
  • 35KB
  • 下载

ftp 限定用户不可以离开主目录

[root@master ~]# rpm -qa | grep vsftp [root@master ~]# yum install vsftpd-2.2.2-13.el6_6.1.x86_64 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:不可以!
举报原因:
原因补充:

(最多只允许输入30个字)