不可以!

原创 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。

相关文章推荐

C++函数中那些不可以被声明为虚函数的函数

常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。   1、为什么C++不支持普通函数为虚函数?   普通函数(非成员函数)只能被overloa...

为什么Java可以跨平台c/c++不可以吗

Java可以跨平台,那C#、C、C++呢?请往下看
  • uflswe
  • uflswe
  • 2015-04-02 23:16
  • 1846

你不可以不知道的findViewById

http://www.2cto.com/kf/201204/127405.html 自从学习android的hello world开始 我们就知道了这样一个函数findView...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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