标题: [数值计算] [已解决]批处理如何进行加减运算 [打印本页]
作者: jialin2008 时间: 2010-6-29 23:55 标题: [已解决]批处理如何进行加减运算
比如我在p中输入53212 我想让他计算出 第一位加第三位加第五位然后在减第2位和第四位
就是这样的:5+2+2-3-1 结果出来等于5 !
[ 本帖最后由 jialin2008 于 2010-6-30 00:21 编辑 ]
作者: hyqiujian 时间: 2010-6-30 00:14
@echo off
set a=53212
set /a b=%a:~,1%+%a:~2,1%+%a:~4,1%-%a:~1,1%-%a:~3,1%
echo %a%
echo 第一位+第三位+第五位-第二位-第四位
echo 得到结果是 %b%
pause
作者: hyqiujian 时间: 2010-6-30 00:16
@echo off
set a=
set /p a=请输入一个5位的数字:
set /a b=%a:~,1%+%a:~2,1%+%a:~4,1%-%a:~1,1%-%a:~3,1%
echo 输入的数字 %a%
echo 第一位+第三位+第五位-第二位-第四位
echo 得到结果是 %b%
pause
bat-hyqiujian<hyqiujian@1
作者: sgaizxt001 时间: 2010-6-30 00:16
- @echo off
- setlocal enabledelayedexpansion
- set /p var=请输入:
- for %%a in (!var!) do (
- set /a n+=1
- set _!n!=%%a
- )
- set /a m=!_1!+!_3!+!_5!-!_2!-!_4!
- echo !m!
- pause
复制代码
每个数之间用空格隔开
理解错题意,上面的代码就OK了。我这个是输入5个数而不是一个5位数
[ 本帖最后由 sgaizxt001 于 2010-6-30 00:18 编辑 ]
作者: hyqiujian 时间: 2010-6-30 00:23
4楼的代码
"提示找不到操作数"
作者: hyqiujian 时间: 2010-6-30 00:24
请4楼解析下原理
我不是很懂FOR
作者: sgaizxt001 时间: 2010-6-30 02:00
首先我理解错了楼主的意思,我的代码是分析5个数,而不是1个5位数。
输入5个数,以空格隔开的5个数,比如19 28 36 45 53。
for %%a in (!var!)是以19 28 36 45 53为解析对象,设置用%%a分别取19,28,36,45,53。然后每有一个变量就设置n=n+1,总共5个变量,那么n的取值是1,2,3,4,5。继续设置_1=19,_2=28,_3=36,_4=45,_5=53。最后就是计算了
作者: shuaige100 时间: 2010-6-30 16:48 标题: 回复 4楼 的帖子
1位数的5个数,计算不了的
我输入的是1 2 3 4 5
答案是错误的3
作者: sgaizxt001 时间: 2010-6-30 21:32
1+3+5-2-4不等于3?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |