nyoj-1071 不可以!【水】
2015-08-29 16:21
337 查看
不可以!
时间限制:1000 ms | 内存限制:65535 KB难度:1
描述
判断:两个数x、y的正负性。
要求:不可以使用比较运算符,即"<",">","<=",">=","==","!="。
![](http://acm.nyist.net/JudgeOnline/admin/kind/attached/20140801095811_84190.jpg)
输入 有多组数据,每组数据占一行,每一行两个数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
题目解析:
判断两数的符号:
1.乘积:两者相乘>0,符号相同,<0相反,两者都不满足时不能确定
2.绝对值:x!=的前提下,x+|x|>0,x为正数,否则是负数
3.字符串:将数据存入数组中,考虑第一个字符‘-’,'0'
所有情况:
1.符号相同:同正,同负
2.符号相反:一正一负
3.不确定:一0一正;一0一负;都为0;
一:运用乘积,两者相乘
要求:不可以使用比较运算符,即"<",">","<=",">=","==","!="。
应该是不能拿x.y与0通过运算符进行直接比较 其他的用到运算符应该没问题 因为下面第一种代码就用到了>,<,但是ac了
以前一直认为“,”等价于&&,今天运行第三个代码时才知道 if(x,y) x可以为0,y不能为0; if(x&&y),x,y都不能为0
1.乘积
ac code:
#include<stdio.h> int main() { int x,y; while(~scanf("%d%d",&x,&y)) { if(x*y>0) printf("Signs are not opposot\n"); else if(x*y<0) printf("Signs are opposite\n"); else printf("Signs can't be sure\n"); } return 0; }
2 字符串
ac code:
#include<stdio.h> #define MAXN 10000 int main() { char str1[MAXN],str2[MAXN]; while(~scanf("%s%s",str1,str2)) { if(str1[0]=='0'||str2[0]=='0') printf("Signs can't be sure\n"); else if(str1[0]=='-'&&str2[0]=='-'||str1[0]!='-'&&str2[0]!='-') printf("Signs are not opposot\n"); // else if(str1[0]||str2[0]) 一正一负 else printf("Signs are opposite\n"); } return 0; }
3,绝对值
ac code:
#include<stdio.h> #include<stdlib.h> //#include<math.h> int main() { int x,y; while(~scanf("%d%d",&x,&y)) { if(x&&y) //不能写成if(x,y)因为 他表示y!=0,不表示x,y都不为0 { if(x*y+abs(x*y)) printf("Signs are not opposot\n"); else printf("Signs are opposite\n"); } else printf("Signs can't be sure\n"); } return 0; }
第一次提交时没有写头文件stdlib.h,写math.h编译错误
编译错误:
./Source/main.cpp: In function 'int main()':
./Source/main.cpp:24: error: 'abs' was not declared in this scope
相关文章推荐
- 二维数组的合并为有序的一维数组
- 2015/8/26 Python基础(1):基本规则及赋值
- 插入数据时,超过长度,不报错,还能插入
- BZOJ 2104 K-th Number
- 全国银行开户行名称查询数据库,包括行号、电话、地址、
- 绪论(0)--机器学习与模式识别 [PRML]
- C#练习题 if
- C++ 基本知识
- Android 源码下载
- iOS开发-OC-Foundation框架
- NOIP2010 机器翻译 题解
- 【HNOI 模拟】Axonometric Projection
- [leetcode]Isomorphic Strings C语言
- Qt 学习之路 2(2):Qt 简介 笔记
- Spring Task定时任务Scheduled
- 利用SQL语句重置数据库中所有表的标识列(自增量)
- bzoj1721 [Usaco2006 Mar]Ski Lift 缆车支柱(dp)
- linux系统安装和使用SVN经验和遇到的问题
- Javascript高级程序设计——javascript简介
- Linux学习笔记----Linux 系统管理----系统定时任务