defanive 和 bc这么认真对待,我感到挺惭愧的(论坛其他人呢?)
怎么说也得弄一部分代码出来。
以下代码对于两个分数的加减运算,没有考虑什么其他情况,草草的贴上来了。
- @echo off &setlocal enabledelayedexpansion
- set /p input="输入格式如 1/2 + 3/4 : "
- call :readinput "%input%" inp
- call :readinput "%inp1:/= %" left
- call :readinput "%inp3:/= %" right
- for %%a in (+ -) do (if %inp2% equ %%a (
- set /a left=left1*right2,right=right1*left2,lr1=left%%aright,lr2=left2*right2
- call :cut !lr1! !lr2!
- set /a lr1=lr1/del,lr2=lr2/del
- echo,!lr1!/!lr2!
- ))
-
- pause>nul &exit
-
- :readinput
- set readinput=0
- for %%a in (%~1) do (set /a "readinput+=1" &set %2!readinput!=%%a)
- goto :eof
-
- ::Function::取出最大公约数,赋值给del
- :cut
- set /a a=%1,b=%2
- :cut-1
- set /a mod=a%%b,adb=a/b
- if %mod% equ 0 (set del=%b%) else (set /a "a=b,b=mod" &goto :cut-1)
- goto :eof
复制代码
[ 本帖最后由 523066680 于 2009-2-5 20:58 编辑 ] |