码迷,mamicode.com
首页 > 其他好文 > 详细

nyoj-1071 不可以!【水】

时间:2015-08-29 17:01:44      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:编程入门

不可以!

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

题目解析:

判断两数的符号:

1.乘积:两者相乘>0,符号相同,<0相反,两者都不满足时不能确定

2.绝对值:x!=的前提下,x+|x|>0,x为正数,否则是负数

3.字符串:将数据存入数组中,考虑第一个字符‘-’,‘0‘

所有情况:

1.符号相同:同正,同负

2.符号相反:一正一负

3.不确定:一0一正;一0一负;都为0;

一:运用乘积,两者相乘

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

应该是不能拿x.y与0通过运算符进行直接比较   其他的用到运算符应该没问题   因为下面第一种代码就用到了>,<,但是ac了

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:

 

3,绝对值,提交时显示编译错误  不知道为什么,还请大神指教


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

nyoj-1071 不可以!【水】

标签:编程入门

原文地址:http://blog.csdn.net/qq_29606781/article/details/48088273

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!