问题描述
- 用包含变量x的一个表达式实现:x>0时结果为1,x=0结果为0,不要条件判断
-
用包含变量x的一个表达式实现:x>0时结果为1,x=0结果为0,不要条件判断。
可使用任意数学函数
解决方案
?:当然是最容易想到的,但是这种回答没有任何帮助到你,肯定你也知道。
不知道什么语言,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);
}
解决方案二:
我觉得可以除以一个最大的数向上取整
解决方案三:
x = (bool)x & x; 这个可以,如果非要不用判断的话
解决方案四:
?;运算符可以搞定,x > 0 ? 1 : 0
解决方案五:
x > 0 ? '1' : '0'
解决方案六:
这个表达式叫三目运算符
解决方案七:
那就三目运算符呗;
x = x>0?1:0;
解决方案八:
楼上的结果是bool型,用异或吧,与0异或,相同的就是0,不同的都是1也就是不等0的数
解决方案九:
三目运算 就不算条件判断了? 我觉得得知道出这题目的人到底是想要考什么
解决方案十:
用三元运算符,就是一个缩小版的if-else
时间: 2024-11-02 05:31:45