[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
长见识了,的确长见识了

TOP

1
  1. @echo off
  2. for /l %%a in (1,1,100) do set /a a+=%%a
  3. echo %a%
复制代码
2
  1. @echo off
  2. set /p n=请输入n的值:
  3. for /l %%a in (1,1,%n%) do set /a a+=%%a
  4. echo %a%
复制代码

TOP

头尾各一半 × 项数
  1. @echo off
  2. set start=1
  3. set n=100
  4. set different=1
  5. echo 公差:%different%
  6. echo 项数:%n%
  7. echo 头:%start%
  8. set /a last = %start%+%n%*%different%-1
  9. echo 尾:%last%
  10. set /a sum=(%start%+%last%)*%n%/2
  11. echo 和:%sum%
  12. pause
复制代码

TOP

  1. @echo off
  2. set num=0
  3. :main
  4. set /p n=请输入最终要累加到的数
  5. if n leq 1 goto error
  6. for /l %%i in (1,1,%n%) do (set /a num=num+%%i )
  7. echo sum=%num%
  8. pause & exit
  9. :error
  10. echo 数字输入不能小于1
  11. pause
  12. cls
  13. goto main
  14. pause
复制代码
无所谓而无所为 无所谓而无所不为

TOP

@echo off
setlocal enabledelayedexpansion
for /l %%a in (1 1 100) do (
   set "str=!str!%%a+"
)
set /a str=%str:~0,-1%
echo %str%

pause
时光荏苒||新陈代谢&&涛声依旧||本性难移

TOP

本帖最后由 zzpsongs 于 2013-1-1 15:08 编辑
  1. @echo off
  2. :on
  3. echo 1+2+……+N=?
  4. set/p n=[请输入N值]^>
  5. set/a fin=%n%*(%n%+1)/2
  6. echo 1+2+……+N=%fin% (N=%n%)
  7. echo ------------------------------
  8. goto on
复制代码
回帖后才发现,原来是for的应用。。。。

TOP

回复 12# vicp7764


    假如他输入023呢,好像要写一个来排除0,就好像输入023,计算机只读入23.。。。但是我想不到怎样解决

TOP

回复 129# bat爱好者
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set num=0230056
  4. set n=0
  5. :loop
  6. if "!num:~%n%,1!" equ "0" (
  7.   set /a n+=1
  8.   goto loop
  9. )
  10. set num=!num:~%n%!
  11. echo %num%
  12. pause
复制代码
时光荏苒||新陈代谢&&涛声依旧||本性难移

TOP

回复 12# vicp7764


    set /a 是什么意思
我用set sum=sum+%%i 就不对  要set /a sum=sum+%%i 才对 ,这是为什么

TOP

本帖最后由 taofan712 于 2017-2-11 22:53 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :loop
  4. set var=
  5. set s=
  6. set b=
  7. echo;计算两个自然数之间(包括这两个数)所有连续自然数的和。
  8. set /p var=请输入两个不同的自然数(空格隔开)
  9. for /f "tokens=1,2 delims= " %%a in ("%var%") do (
  10. if "%%a" lss "%%b" ( set /a s=%%a & set /a b=%%b
  11. ) else (
  12. set /a s=%%b & set /a b=%%a )
  13. set /a "sum=(!s!+!b!)*(!b!-!s!+1)/2"
  14. echo;!sum! )
  15. pause>nul & cls & goto loop
复制代码

TOP

@echo off
setlocal enabledelayedexpansion
set /p n=Input a number:
set i=1
:plus
if %i% leq %n% (
   set /a sum=!sum!+!i!
   set /a i=!i!+1
   goto :plus
)
echo sum:%sum%
pause

TOP

把BX的值用自带的计算器转成10进制即可。
只支持32位系统。
附一贴:http://www.bathome.net/thread-43372-1-1.html
  1. %老刘制作-数值递增相加%
  2. %注:寄存器里的数为2进制,显示出来的为16进制%
  3. %BX的值为递增的值,AX为递增数.%
  4. @echo off
  5. set /p var=Please input a Number:
  6. >%TMP%\DEBUGASM.TMP (
  7. echo a100
  8. echo mov ax,0
  9. for /l %%a in (1 1 %var%) do (
  10. echo inc ax
  11. echo add bx,ax
  12. )
  13. echo.
  14. for /l %%a in (-%var% 1 %var%) do echo T
  15. echo.
  16. echo q
  17. echo q
  18. )
  19. <%TMP%\DEBUGASM.TMP DEBUG|Find /v ""|Find "CX"
  20. DEL /F %TMP%\DEBUGASM.TMP
  21. pause&exit/b
复制代码
1

评分人数

TOP

@echo off
set n=1
set /p n=input a number!
for /l %%i in (1,1,%n%) do (
    set /a sum+=%%i
)
echo %sum%
pause
1

评分人数

TOP

@echo off
set n=1
set /p n=input a number!
for /l %%i in (1,1,%n%) do (
    set /a sum+=%%i
)
echo %sum%
pause

TOP

回复 15# yaohaixu


    这个批处理写的好玩

TOP

返回列表