|
yibo0922
新手上路
积分 8
发帖 2
注册 2006-2-15
状态 离线
|
『楼 主』:
批处理中如何进行数值运算呀
批处理中怎样进行加减乘除的数值运算呢?
我从文本中取了一个变量,比如说T,取值为19,怎样能给另外一个变量X赋值为18,也就是X=T-1,或者进行其他的运算?
请大家帮帮忙啦
|
|
2006-2-15 17:40 |
|
|
无奈何
荣誉版主
积分 1338
发帖 356
注册 2005-7-15
状态 离线
|
『第
2 楼』:
用 set /a 直接计算就可以了。
例:
set t=19
set /a x=t-1
其他计算类似,详情见 set /?
|
☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul
|
|
2006-2-15 19:22 |
|
|
yibo0922
新手上路
积分 8
发帖 2
注册 2006-2-15
状态 离线
|
|
2006-2-16 08:46 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
『第
4 楼』:
题目:将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 ]
|
|
2006-2-18 07:39 |
|
|
voiL
中级用户
积分 384
发帖 189
注册 2005-10-19
状态 离线
|
『第
5 楼』:
从4楼中又学到了点东西.....
|
|
2006-2-18 20:23 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
『第
6 楼』:
见笑了,呵呵,其实这个东东还可以简化,只是当时水平有限,不堪入目之处希望老鸟们不要见笑。。。
|
|
2006-2-18 22:21 |
|
|
htysm
高级用户
积分 866
发帖 415
注册 2005-12-4
状态 离线
|
『第
7 楼』:
对于我等菜鸟来说,这里是高手如云滴.
|
|
2006-6-26 20:57 |
|