返回列表 发帖

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

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

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

TOP

@echo off
set /p n=请输入数值:
for /l %%i in (0,1,%n%) do (
       set /a sum=sum+%%i
)
echo %sum%
pauseCOPY

TOP

@echo off
for /l %%a in (1,1,6) do set /a var+=%%a
echo %var%
pauseCOPY

TOP

@echo off
for /l %%a in (1,1,100) do set /a var+=%%a
echo %var%
pauseCOPY

TOP

set /a (1+100)*100/2COPY

TOP

@set /p n=请输入n:
@set /a n=(n+1)*n/2
@echo 结果:%n%&pauseCOPY

TOP

早上就是有灵感.
@echo off&setlocal enabledelayedexpansion
:lp
set sun=0
set /p a=请输入要从1加到几:
for /l %%i in (1,1,%a%) do (
    set /a sun+=%%i
    )
set/p=!sun!<nul
echo.
goto lpCOPY

TOP

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

@echo off
set /p n=请输入任意数字
echo 您输入的数字为:%n%
for /l %%i in (1 1 %n%) do set /a num+=%%i
echo 计算结果为:%num%
pause >nulCOPY

TOP

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

评分人数

TOP

@echo off
for /l %%i in (1,1,100) do (
set /a n+=%%i
)
echo %%n
pauseCOPY

TOP

哎呀。

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


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


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

TOP

@echo off
set /p n=请输入数字:
cls
set /a x=%n%*(1+%n%)/2
echo %x%
pauseCOPY

TOP

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

TOP

@echo off
title=1+2+3+…+100=?
setlocal enabledelayedexpansion
for /l %%i in (1 1 100) do (
set /a sum+=%%i
)
echo 1+2+3+…+100=!sum!
pause>nulCOPY

TOP

@ echo off
set /a num=(100+1)*(100/2)
echo,%num%
pauseCOPY

TOP

返回列表