[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. set /p x=1+2+3+4+5+6+7+8+9+~~~~~:
  3. set y=1
  4. for /l %%a in (2,1,%x%) do set /a y=y+%%a
  5. echo %y%
  6. pause
复制代码

TOP

  1. @echo off
  2. set x=1
  3. for /l %%a in (2,1,100) do (
  4. set /a x=x+%%a
  5. )
  6. echo %x%
  7. pause
复制代码

TOP

@echo off
set /p nax=1+2+3+4+. . . . . . . . . . . . . +
set /a answer=(1+%nax%)*%nax%/2
echo %answer%
pause > nul


看见第一楼用的for,我感觉既然公差一定用求和公式就好了
setlocal enabledelayedexpansion

TOP

  1. @echo off&setlocal EnableDelayedExpansion
  2. set /p num=请输入数字:
  3. for /l %%a (1 1 %num%) do (
  4. set /a n=n+%%a
  5. )
  6. echo 运算结果:!n!
  7. pause>nul
复制代码

[ 本帖最后由 zcy85611 于 2009-1-19 10:53 编辑 ]

TOP

前几天有事,现在又可以坐下来学习了
@echo off
for /l %%i in (1 1 100) do (set /a sum+=%%i)
echo 1+2+3+...+100=%sum%
pause

TOP

@echo off
for /l %%i in (100,-1,1) do set /a sum+=%%i
echo %sum%
pause>nul

TOP

  1. @echo off
  2. set /p n=请输入N:
  3. set num=0
  4. FOR /l %%i in (1 1 %n%) do (
  5. set /a num+=%%i
  6. )
  7. echo 1+2+3+...+%n%=%num%
  8. pause>nul
复制代码

TOP

@echo off &title 累加计算&color 1a&mode con cols=35 lines=10
set /p n=请输入从1累加到几的那个数:
set /a t=0
for /l %%i in (1,1,%n%) do (set /a t=t+%%i)
echo 累加结果是:%t%
pause >nul

TOP

现学现卖中~
@echo off
set %%i=1
for /l %%i in (1 1 100) do set /a sum+=%%i
echo %sum%
pause

sum+=%%i这个参数弄了老半天
想通了~~以前有学过C++的一点基础。现在想起来了,暴汗!

至于提高题:
@echo off
set %%i=1
set /p n= 请输入N的值
for /l %%i in (1 1 %n%) do set /a sum+=%%i
echo %sum%
pause
嘿嘿,难倒不难,新手来的,批处理懂得太少了~~
格式方面不知道有什么错误没

[ 本帖最后由 xwfswh 于 2008-10-30 21:35 编辑 ]
尘莫央

TOP

看看啊..   ..............看看

TOP

  1. @echo off
  2. :hk
  3. set/p n=输入一个数:
  4. set/a m=(1+%n%)*%n%/2
  5. cls
  6. echo %m%
  7. goto hk
复制代码

TOP

@echo off
echo 计算1+2+3+......+n
set sum=0
set /p a=请输入n:

setlocal EnableDelayedExpansion
for /l %%i in (1,1,%a%) do (
        set val=%%i
        set /a sum=!!sum!+!val!!
)
echo 1+2+3+......+%a%=!sum!
endlocal

set sum=
set val=
set a=

pause
----------------------------------------------
看了看别人的代码,for /l %%i in (1,1,%input%) do (set /a sum+=%%i)
为什么这个时候可以不用延时变量?sum难道不是在预处理中就替换了的?
希望有高人解释解释

[ 本帖最后由 batbird 于 2008-9-12 10:57 编辑 ]

TOP

@echo off
set/p n="n等于?  "
set/a s=1
set/a y=1
:d
set/a y=%y%+1
set/a s=%s%+%y%
if %y%==%n% goto p
goto d
:p
echo %s%
pause

TOP

我的做法

@echo off
set /p n=


set /a sum=(1+%n%)*%n%/2
echo %sum%

TOP

  1. @ echo off
  2. for /l %%i in (1,1,100) do (set /a sum+=%%i)
  3. echo 从1到100的数字之和是:%sum%
  4. pause>nul
  5. set sum=0
  6. set /p input=随意输入壹个数字:
  7. for /l %%i in (1,1,%input%) do (set /a sum+=%%i)
  8. echo 从1一直加到你输入的数字之和是:%sum%
  9. pause>nul
复制代码

TOP

返回列表