changkunpeng 发表于 2014-4-6 14:25:00

突然发现题目中的一个问题

好像题目中没有说单元运算符。
如 -sin(90),‘-’为单元运算符,不表示正负号。
我出alpha版之后才发现的,因为没考虑到,然后就理所当然的不支持

@Leo 怎么办,题目中也没有说的,大家好像都支持了,但是我的解析方式不一样,支持起来有点别扭了。。

saber000 发表于 2014-4-6 15:24:00

没看懂,-既是符号也是单目运算符啊。

changkunpeng 发表于 2014-4-6 16:52:00

回复 2楼saber000的帖子

下面是我的理解:
比如 -123 表示为负号,解析之后是和123构成一个数字,
1-123 表示四则运算中的减,为双元运算符
但是 -sin(33),-应该表示单元运算符吧,题目中好像没有说。
能不能把-123中的负号理解为和-sin(33)一样??

changkunpeng 发表于 2014-4-6 17:00:00

就像
1-sin(23)
1--sin(23)
1-----sin(23)
-sin(23)
--sin(23)
-----sin(23)
感觉很有意义说一下这么一堆负号(减号)怎么办。。。

changkunpeng 发表于 2014-4-6 17:07:00

回复 4楼changkunpeng的帖子

刚才试了下其他计算器,发现都需要加括号,'负号'才有效
比如1-(-sin(23))可以1--sin(23)为运算符错误
--sin(23)错误,-(-sin(23))正确着的。。

Leo 发表于 2014-4-6 18:03:00

这就是题目给选手随意发挥的地方。只要能解释的通,随意设计。

saber000 发表于 2014-4-6 21:31:00

把-看作双目运算符,只不过第一个操作数可以省略,默认是0.

Gwanwlw 发表于 2014-4-6 23:57:00

回复 4楼changkunpeng的帖子

规定优先级就好了

changkunpeng 发表于 2014-4-7 09:23:00

回复 7楼saber000的帖子

1*-2是对的,因为-2是一个数
但是1*-sin(60)只有加了括号才可以的。
页: [1]
查看完整版本: 突然发现题目中的一个问题