不可以!
时间限制: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,绝对值,提交时显示编译错误 不知道为什么,还请大神指教
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-09-29 10:19:14