Plain text
复制到剪贴板
Open code in new window
EnlighterJS 3 Syntax Highlighter
;只支持从左到右四则运算(不支持先乘除再加减),不支持括号
;乘号="*",除号="/"
InputBox, c
while(j="")
{
a := []
加 := InStr(c, "+"), 减 := InStr(c, "-"), 乘 := InStr(c, "*"), 除 := InStr(c, "/")
if(加=0 and 减=0 and 乘=0 and 除=0)
break
if 加=0
加:=100
if 减=0
减:=100
if 乘=0
乘:=100
if 除=0
除:=100
switch
{
case 乘<减 and 乘<加 and 乘<除: a := StrSplit(c,"*",,2)
Gosub 取第二个值
if(A_Index=1)
结果 := a[1]*d[1]
else
结果 := 结果*d[1]
case 除<减 and 除<乘 and 除<加: a := StrSplit(c,"/",,2)
Gosub 取第二个值
if(A_Index=1)
结果 := a[1]/d[1]
else
结果 := 结果/d[1]
case 加<减 and 加<乘 and 加<除: a := StrSplit(c,"+",,2)
Gosub 取第二个值
if(A_Index=1)
结果 := a[1]+d[1]
else
结果 := 结果+d[1]
case 减<加 and 减<乘 and 减<除: a := StrSplit(c,"-",,2)
Gosub 取第二个值
if(A_Index=1)
结果 := a[1]-d[1]
else
结果 := 结果-d[1]
}
}
if(结果="")
MsgBox 错误
else
MsgBox % Format("{:g}", 结果)
ExitApp
取第二个值:
c := a[2], d := [], j := ""
加 := InStr(c, "+"), 减 := InStr(c, "-"), 乘 := InStr(c, "*"), 除 := InStr(c, "/")
if(加=0 and 减=0 and 乘=0 and 除=0)
{
d[1] := c, j := 1
return
}
if 加=0
加:=100
if 减=0
减:=100
if 乘=0
乘:=100
if 除=0
除:=100
switch
{
case 乘<减 and 乘<加 and 乘<除: d := StrSplit(c,"*",,2)
case 除<减 and 除<加 and 除<乘: d := StrSplit(c,"/",,2)
case 加<减 and 加<乘 and 加<除: d := StrSplit(c,"+",,2)
case 减<加 and 减<乘 and 减<除: d := StrSplit(c,"-",,2)
}
return
;只支持从左到右四则运算(不支持先乘除再加减),不支持括号 ;乘号="*",除号="/" InputBox, c while(j="") { a := [] 加 := InStr(c, "+"), 减 := InStr(c, "-"), 乘 := InStr(c, "*"), 除 := InStr(c, "/") if(加=0 and 减=0 and 乘=0 and 除=0) break if 加=0 加:=100 if 减=0 减:=100 if 乘=0 乘:=100 if 除=0 除:=100 switch { case 乘<减 and 乘<加 and 乘<除: a := StrSplit(c,"*",,2) Gosub 取第二个值 if(A_Index=1) 结果 := a[1]*d[1] else 结果 := 结果*d[1] case 除<减 and 除<乘 and 除<加: a := StrSplit(c,"/",,2) Gosub 取第二个值 if(A_Index=1) 结果 := a[1]/d[1] else 结果 := 结果/d[1] case 加<减 and 加<乘 and 加<除: a := StrSplit(c,"+",,2) Gosub 取第二个值 if(A_Index=1) 结果 := a[1]+d[1] else 结果 := 结果+d[1] case 减<加 and 减<乘 and 减<除: a := StrSplit(c,"-",,2) Gosub 取第二个值 if(A_Index=1) 结果 := a[1]-d[1] else 结果 := 结果-d[1] } } if(结果="") MsgBox 错误 else MsgBox % Format("{:g}", 结果) ExitApp 取第二个值: c := a[2], d := [], j := "" 加 := InStr(c, "+"), 减 := InStr(c, "-"), 乘 := InStr(c, "*"), 除 := InStr(c, "/") if(加=0 and 减=0 and 乘=0 and 除=0) { d[1] := c, j := 1 return } if 加=0 加:=100 if 减=0 减:=100 if 乘=0 乘:=100 if 除=0 除:=100 switch { case 乘<减 and 乘<加 and 乘<除: d := StrSplit(c,"*",,2) case 除<减 and 除<加 and 除<乘: d := StrSplit(c,"/",,2) case 加<减 and 加<乘 and 加<除: d := StrSplit(c,"+",,2) case 减<加 and 减<乘 and 减<除: d := StrSplit(c,"-",,2) } return
;只支持从左到右四则运算(不支持先乘除再加减),不支持括号
;乘号="*",除号="/"
InputBox, c
while(j="")
{
    a := []
    加 := InStr(c, "+"), 减 := InStr(c, "-"), 乘 := InStr(c, "*"), 除 := InStr(c, "/")
    if(加=0 and 减=0 and 乘=0 and 除=0)
        break
    if 加=0
        加:=100
    if 减=0
        减:=100
    if 乘=0
        乘:=100
    if 除=0
        除:=100
    switch
    {
    case 乘<减 and 乘<加 and 乘<除: a := StrSplit(c,"*",,2)
        Gosub 取第二个值
        if(A_Index=1)
            结果 := a[1]*d[1]
        else
            结果 := 结果*d[1]
    case 除<减 and 除<乘 and 除<加: a := StrSplit(c,"/",,2)
        Gosub 取第二个值
        if(A_Index=1)
            结果 := a[1]/d[1]
        else
            结果 := 结果/d[1]
    case 加<减 and 加<乘 and 加<除: a := StrSplit(c,"+",,2)
        Gosub 取第二个值
        if(A_Index=1)
            结果 := a[1]+d[1]
        else
            结果 := 结果+d[1]
    case 减<加 and 减<乘 and 减<除: a := StrSplit(c,"-",,2)
        Gosub 取第二个值
        if(A_Index=1)
            结果 := a[1]-d[1]
        else
            结果 := 结果-d[1]
    }
}
if(结果="")
    MsgBox 错误
else
    MsgBox % Format("{:g}", 结果)
ExitApp

取第二个值:
c := a[2], d := [], j := ""
加 := InStr(c, "+"), 减 := InStr(c, "-"), 乘 := InStr(c, "*"), 除 := InStr(c, "/")
if(加=0 and 减=0 and 乘=0 and 除=0)
{
    d[1] := c, j := 1
    return
}
if 加=0
    加:=100
if 减=0
    减:=100
if 乘=0
    乘:=100
if 除=0
    除:=100
switch
{
case 乘<减 and 乘<加 and 乘<除: d := StrSplit(c,"*",,2)
case 除<减 and 除<加 and 除<乘: d := StrSplit(c,"/",,2)
case 加<减 and 加<乘 and 加<除: d := StrSplit(c,"+",,2)
case 减<加 and 减<乘 and 减<除: d := StrSplit(c,"-",,2)
}
return

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。