2 ywgdjryf ywgdjryf 于 2015.06.16 13:41 提问

用包含变量x的一个表达式实现:x>0时结果为1,x=0结果为0,不要条件判断

用包含变量x的一个表达式实现:x>0时结果为1,x=0结果为0,不要条件判断。
可使用任意数学函数

22个回答

devmiao
devmiao   Ds   Rxr 2015.06.17 18:35
已采纳

?:当然是最容易想到的,但是这种回答没有任何帮助到你,肯定你也知道。

 不知道什么语言,VB有Sign函数,>0返回1,=0返回0,<0返回-1

C++可以用 (int)(x > 0),原理是x>0返回true,转换成int是1

 #include <iostream>
using namespace std;
int main()
{
    cout << (int)(6 > 0);
}
GKatHere
GKatHere 你这是内嵌条件判断: 汇编为 cmp 6, 0; setg;
2 年多之前 回复
u010370871
u010370871   2015.07.10 15:47

我觉得可以除以一个最大的数向上取整

qq_29495439
qq_29495439 ceil(x/(x+1)) 是不
2 年多之前 回复
u012541187
u012541187   2015.06.16 14:38

x = (bool)x & x; 这个可以,如果非要不用判断的话

ycg514230
ycg514230   Rxr 2015.06.17 18:28

?;运算符可以搞定,x > 0 ? 1 : 0

hu285279904
hu285279904 这也是条件判断
2 年多之前 回复
beacon_2011
beacon_2011   Rxr 2015.06.16 13:45

x > 0 ? '1' : '0'

dongfandong
dongfandong   2015.06.16 13:49

这个表达式叫三目运算符

tongyi55555
tongyi55555   2015.06.16 13:48

那就三目运算符呗;
x = x>0?1:0;

star890124
star890124   2015.06.16 15:53

楼上的结果是bool型,用异或吧,与0异或,相同的就是0,不同的都是1也就是不等0的数

edouardzyc
edouardzyc   2015.06.16 16:32

三目运算 就不算条件判断了? 我觉得得知道出这题目的人到底是想要考什么

u012401478
u012401478   2015.07.07 11:18

用三元运算符,就是一个缩小版的if-else

共22条数据 1 3 尾页
Csdn user default icon
上传中...
上传图片
插入图片