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

这个对吗

  1. @echo off
  2. set n=0
  3. for /l %%i in (1 1 100) do (
  4. set /a n=n+%%i
  5. )
  6. echo 1+2+3+4+...+100=%n%
  7. pause
  8. 第二题
  9. @echo off
  10. set /p m=
  11. set n=0
  12. for /l %%i in (1 1 %m%) do (
  13. set /a n=n+%%i
  14. )
  15. echo 1+2+3+4+...+%m%=%n%
  16. pause
复制代码
这个对吗?
清风本无影,酒中笑红尘

TOP

  1. for 循环这不需要用变量 延迟吗?
复制代码

TOP

  1. @ECHO off
  2. FOR /L %%i IN (1, 1, 100) DO SET /A s += %%i
  3. ECHO %s% & PAUSE
复制代码

TOP

  1. @echo off
  2. ::setlocal enabledelayedexpansion
  3. set /p a=请输入一个数
  4. for /l %%i in (1,1,%a%) do (
  5.   set /a b+=%%i
  6. )
  7. echo %b%
  8. pause>nul
复制代码
菜鸟一个,潜心学习
总有学会的一天

TOP

  1. @echo off
  2. set /p n=请输入一个尾数n:
  3. set m=0
  4. for /l %%i in (1,1,%n%) do set /a m+=%%i
  5. echo 从1+%n%的和为:%m%
  6. pause >nul
复制代码

TOP

本帖最后由 mxxcgzxxx 于 2011-6-13 19:37 编辑
  1. @echo off
  2. :1
  3. set /p n=请输入数字:
  4. set /a n*=1
  5. if %n% lss 1 goto:1
  6. set /a n=(1+n)*n/2
  7. echo %n%
  8. pause>nul
复制代码
没事干再弄一个
  1. @echo off
  2. :1
  3. set /p n1=请输入起始数字(大于等于0):
  4. set /a n1*=1
  5. if %n1% lss 1 goto:1
  6. :2
  7. set /p n2=请输入未尾数字(大于%n1%):
  8. set /a n2*=1
  9. if %n2% leq %n1% goto :2
  10. :3
  11. set /a n=n2-n1
  12. set /p n3=请输入数列间跨(小等于%n%):
  13. set /a n3*=1
  14. if %n3% lss 1 goto :3
  15. if %n3% gtr %n% goto :3
  16. set n=0
  17. for /l %%1 in (%n1%,%n3%,%n2%) do set /a n=n+%%1
  18. echo %n%
  19. pause>nul
复制代码
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

  1. @echo off
  2. set 首位数=1
  3. set 末位数=100
  4. set /a 位数=%末位数%-%首位数%+1
  5. set /a 和=(%首位数%+%末位数%)*%位数%/2
  6. echo %首位数% +1 一直加到 %末位数% 的和为:%和%
  7. pause
复制代码
或用枚举:
  1. @echo off & setlocal enabledelayedexpansion
  2. for /l %%i in (1,1,100) do (
  3. set /a sum=!sum!+%%i
  4. )
  5. endlocal
  6. echo 1+2+3+4+...+100=%sum%
  7. pause
复制代码
系统环境:Windows 7+XP(虚拟机) 32 Bit

TOP

  1. @echo off
  2. color 1a
  3. :start
  4. set /p i=Input Start NO:
  5. set /p j=Input Stop NO:
  6. set /p k=Input Interval:
  7. for /l %%i in (%i%,%k%,%j%) do (
  8.     set /a sum=%%i+sum
  9. )
  10. echo %sum%
  11. set /p ch=Try again? Y/N
  12. if /i %ch%==Y (goto start) else (goto end)
  13. pause
复制代码

TOP

回复 1# youxi01
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set/p n=n=
  4. set t=0
  5. for /l %%i in (1 1 %n%) do (set m=%%i&set /a t=!m!+!t!)
  6. echo !t!
  7. pause>nul
复制代码

TOP

回复 20# dishuo


    不错,利用数学公式作为变量

TOP

回复 20# dishuo


    思路很重要,很多人看到这题目只会想到用for和goto,这楼的兄弟头脑与从不同啊。

TOP

回复 3# ieutk

不明白后面为>nul   加了之后输入没有显示呀?
    echo %res%|findstr "^[1-9][0-9]*$">nul

TOP

  1. @echo off
  2. set p=1
  3. set i=2
  4. set /p n=请输入一个数字:
  5. :1
  6. set /a p=p+i
  7. if %i% lss %n% (
  8.    set /a i=%i%+1&goto 1
  9.    ) else (
  10.    echo %p%
  11. )
  12. pause
复制代码

TOP

  1. @echo off
  2. ::1--100的和
  3. set /a "totle=(1+100)*100/2"
  4. set /p=1+...+100的结果是%totle%<nul
  5. pause>nul
复制代码
  1. @echo off
  2. ::1+...+n的和
  3. set /p n=计算1+...+n, n=
  4. set /a "totle=(1+n)*n/2"
  5. set /p=1+...+%n%的结果是%totle%<nul
  6. pause>nul
复制代码

TOP

回复 121# jains521


我猜这题的本意是让大家练习for循环的使用,而不是考察等差数列

TOP

返回列表