![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-01 19:05 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,249 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理中如何进行数值运算呀 |
| 可打印版本 1,008 / 6 |
| 第1楼 yibo0922 | 发表于 2006-02-15 17:40 |
| 新手上路 发帖 2 积分 8 | |
|
批处理中如何进行数值运算呀 批处理中怎样进行加减乘除的数值运算呢?
我从文本中取了一个变量,比如说T,取值为19,怎样能给另外一个变量X赋值为18,也就是X=T-1,或者进行其他的运算? 请大家帮帮忙啦 |
|
| 第2楼 无奈何 | 发表于 2006-02-15 19:22 |
| 荣誉版主 发帖 356 积分 1,338 | |
|
用 set /a 直接计算就可以了。
例: set t=19 set /a x=t-1 其他计算类似,详情见 set /? |
|
| 第3楼 yibo0922 | 发表于 2006-02-16 08:46 |
| 新手上路 发帖 2 积分 8 | |
|
谢谢啦
|
|
| 第4楼 3742668 | 发表于 2006-02-18 07:39 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
题目:将1-9这9个数字分成三个3位数,要求分出的第一个3位数,正好是第二个三位数的二倍,是第三个3位数的三倍。
@echo off setlocal if exist cxs.txt del cxs.txt if exist startup.txt echo y | del startup.txt if exist process.txt echo y | del process.txt set /a var1 = 2 set /a var2 = 1 set /a var3 = 2 set /a i = 0 echo 运算结果: >> cxs.txt :cxs if "%var2%"=="10" set /a var3 = %var3% + 2 && set /a var2 = 1 && goto cxs if "%var3%"=="10" set /a var1 = %var1% + 1 && set /a var3 = 2 && goto cxs if "%var1%"=="7" goto exit set /a var2 = %var2% + 1 if "%var1%"=="%var2%" goto cxs if "%var1%"=="%var3%" goto cxs if "%var2%"=="%var3%" goto cxs set /a i = %i% + 1 set /a number = %i% * 100 / 120 cls echo 当前进度:..........%number%%% set /a tmp2 = %var1% * 100 + %var2% * 10 + %var3% set /a tmp1 = %tmp2% / 2 set /a tmp3 = %tmp1% * 3 echo %tmp1%%tmp2%%tmp3% | find "1" || goto cxs echo %tmp1%%tmp2%%tmp3% | find "2" || goto cxs echo %tmp1%%tmp2%%tmp3% | find "3" || goto cxs echo %tmp1%%tmp2%%tmp3% | find "4" || goto cxs echo %tmp1%%tmp2%%tmp3% | find "5" || goto cxs echo %tmp1%%tmp2%%tmp3% | find "6" || goto cxs echo %tmp1%%tmp2%%tmp3% | find "7" || goto cxs echo %tmp1%%tmp2%%tmp3% | find "8" || goto cxs echo %tmp1%%tmp2%%tmp3% | find "9" || goto cxs set /a nums = %tmp1%%tmp2%%tmp3% echo %tmp3%,%tmp2%,%tmp1% >> cxs.txt set /a tmp1 = 0 set /a tmp2 = 0 set /a tmp3 = 0 goto cxs :exit cls echo 共计算了%i%次. >> cxs.txt endlocal echo ************************* >>cxs.txt echo 孤狗 QQ:3742668 >>cxs.txt echo ************************* >>cxs.txt exit 电脑报第36期编程魔方的题目。 用CMD写了一个,带进度条显示,本来还有一些系统检查的功能的,这里去掉了。其实不用那么多代码的,只不过为了减少运算的次数提高效率以及显示进度等等才多了不少行。。。 [ Last edited by 3742668 on 2006-2-18 at 07:40 ] |
|
| 第5楼 voiL | 发表于 2006-02-18 20:23 |
| 中级用户 发帖 189 积分 384 | |
|
从4楼中又学到了点东西.....
|
|
| 第6楼 3742668 | 发表于 2006-02-18 22:21 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
见笑了,呵呵,其实这个东东还可以简化,只是当时水平有限,不堪入目之处希望老鸟们不要见笑。。。
|
|
| 第7楼 htysm | 发表于 2006-06-26 20:57 |
| 高级用户 发帖 415 积分 866 | |
|
对于我等菜鸟来说,这里是高手如云滴.
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |