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

输入任意自然数求和,包括0

前面有人用findstr确保输入既是数字又符合逻辑,但没包含0,下面代码可以确保输入的数字是自然数,即可以求0到n的和。这似乎跑题了,但仍然用for语句,也算是符合题目吧。
  1. @echo off
  2. :star
  3. set/p "b=请输入一个自然数:"
  4. echo %b%|findstr "^[1-9][0-9]*$ ^[0]$" >nul
  5. if %errorlevel%==0 (
  6.    for /l %%i in (0,1,%b%) do set/a sum+=%%i
  7.    call,echo %%sum%%
  8.    ) else (cls&echo 输入错误!&goto star)      
  9. pause
复制代码

[ 本帖最后由 pumahxh 于 2009-12-14 22:59 编辑 ]

TOP

  1. @echo off
  2. set /p n=请输入数值:
  3. for /l %%i in (0,1,%n%) do (
  4.        set /a sum=sum+%%i
  5. )
  6. echo %sum%
  7. pause
复制代码

TOP

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

TOP

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

TOP

  1. set /a (1+100)*100/2
复制代码

TOP

  1. @set /p n=请输入n:
  2. @set /a n=(n+1)*n/2
  3. @echo 结果:%n%&pause
复制代码

TOP

早上就是有灵感.
  1. @echo off&setlocal enabledelayedexpansion
  2. :lp
  3. set sun=0
  4. set /p a=请输入要从1加到几:
  5. for /l %%i in (1,1,%a%) do (
  6.     set /a sun+=%%i
  7.     )
  8. set/p=!sun!<nul
  9. echo.
  10. goto lp
复制代码

TOP

新手交作业了,多多指教~~~

  1. @echo off
  2. set /p n=请输入任意数字
  3. echo 您输入的数字为:%n%
  4. for /l %%i in (1 1 %n%) do set /a num+=%%i
  5. echo 计算结果为:%num%
  6. pause >nul
复制代码

TOP

这不就是直接应用的梯形面积公式吗,(上底+下底)*高/2。:)
1

评分人数

TOP

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

TOP

哎呀。

各位  那几个都不行哈~~
你们那几个只能在限定值内进行
如果超了
就是负的


而且你们的还是单次的不方便啊


我写了一段
请大虾帮忙改下
  1. @echo off
  2. :a1
  3. set /p n=input the last number!
  4. for /l %%a in (1,1,%n%) do set /a b=((%%a+1)*%%a)/2
  5. echo %b%
  6. pause
复制代码
。,。本人有时有点笨

TOP

  1. @echo off
  2. set /p n=请输入数字:
  3. cls
  4. set /a x=%n%*(1+%n%)/2
  5. echo %x%
  6. pause
复制代码

TOP

玩的不是批处理玩的是寂寞呐

TOP

  1. @echo off
  2. title=1+2+3+…+100=?
  3. setlocal enabledelayedexpansion
  4. for /l %%i in (1 1 100) do (
  5. set /a sum+=%%i
  6. )
  7. echo 1+2+3+…+100=!sum!
  8. pause>nul
复制代码

TOP

  1. @ echo off
  2. set /a num=(100+1)*(100/2)
  3. echo,%num%
  4. pause
复制代码

TOP

返回列表