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

批处理计算1+2+3+4+...+100=?

[复制链接]
发表于 2009-12-14 22:34:12 | 显示全部楼层

输入任意自然数求和,包括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 编辑 ]
发表于 2009-12-16 14:22:48 | 显示全部楼层
  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
复制代码
发表于 2009-12-17 21:31:29 | 显示全部楼层
  1. @echo off
  2. for /l %%a in (1,1,6) do set /a var+=%%a
  3. echo %var%
  4. pause
复制代码
发表于 2009-12-17 21:31:57 | 显示全部楼层
  1. @echo off
  2. for /l %%a in (1,1,100) do set /a var+=%%a
  3. echo %var%
  4. pause
复制代码
发表于 2009-12-24 14:14:03 | 显示全部楼层
  1. set /a (1+100)*100/2
复制代码
发表于 2009-12-24 14:26:51 | 显示全部楼层
  1. @set /p n=请输入n:
  2. @set /a n=(n+1)*n/2
  3. @echo 结果:%n%&pause
复制代码
发表于 2010-1-7 09:00:33 | 显示全部楼层
早上就是有灵感.
  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
复制代码
发表于 2010-1-18 18:41:40 | 显示全部楼层

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


  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
复制代码
发表于 2010-1-18 19:11:35 | 显示全部楼层
这不就是直接应用的梯形面积公式吗,(上底+下底)*高/2。:)

评分

参与人数 1PB +2 收起 理由
wxcute + 2 好联想

查看全部评分

发表于 2010-1-22 08:52:46 | 显示全部楼层
  1. @echo off
  2. for /l %%i in (1,1,100) do (
  3. set /a n+=%%i
  4. )
  5. echo %%n
  6. pause
复制代码
发表于 2010-3-18 19:25:25 | 显示全部楼层

哎呀。

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


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


我写了一段
请大虾帮忙改下
  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
复制代码
发表于 2010-4-12 20:29:23 | 显示全部楼层
  1. @echo off
  2. set /p n=请输入数字:
  3. cls
  4. set /a x=%n%*(1+%n%)/2
  5. echo %x%
  6. pause
复制代码
发表于 2010-4-16 23:39:03 | 显示全部楼层
玩的不是批处理玩的是寂寞呐
发表于 2010-4-24 15:00:43 | 显示全部楼层
  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
复制代码
发表于 2010-5-12 23:49:49 | 显示全部楼层

  1. @ echo off
  2. set /a num=(100+1)*(100/2)
  3. echo,%num%
  4. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:41 , Processed in 0.023607 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表