返回列表 发帖
@ echo off
set /a num=1+2+3+4+...+100
echo %a%
pauseCOPY

TOP

@echo off    //关闭回显
set /a sum=0    //一开始总和为0
for %%i in(1,1,100) do (set /a sum++)  //循环100次对sum进行累加
call echo 总的结果是:%sum%     //输出最终结果
pause  //暂停
exitCOPY

TOP

只知道是用个FOR循环

只知道用一个循环,但是具体说不清楚
大概貌类似于
赋值一个自变量X=1   X<=100
下一句:X=X+1
然后GOTO到前面,当条件不符合时,退出循环吧,呵呵我很菜,不要笑我哦

TOP

回复 12楼 的帖子

这解释太完美了。让人豁然开阔。

TOP

答:
@echo off
:1
set con=0
set ds=0
set /p end=请输入要加到的值
::---------循环首----------
:start
set /a con+=1
set /a ds=%ds%+%con%
::---------循环尾----------
if %con%==%end% (echo 答案是:%ds%) else (
goto start
)
goto 1COPY

TOP

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%a in ( 0 1 100 ) do (
set ji=%%a
set /a jia+=!ji!
)
echo !jia!
pauseCOPY

TOP

set /a a=0,c=0 可以去掉吧?

原帖由 yaohaixu 于 2008-5-5 22:45 发表
不用FOR也是一样的可以的



@echo  off

set  /a  a=0,c=0
:start
set  /a  a+=1,c=c+a
if  "%a%"=="100"   goto  end
goto  start
:end   
   echo.             %c%
pause

这个代码set /a a=0,c=0 可以去掉吧,因为一开始第一次赋值a的值为0,所以a+=1 就是a=a+1所以a=1,同样c=c+a,就是c=0+1,因为第一次赋值c的值为0,所以c=0+1 ,c=1

TOP

根本用不着循环嘛。。。

@echo off
set /p n=请输入:
set /a sum=(1+%n%)*%n%/2
echo 1加到%n%的和是%sum%
pauseCOPY

TOP

@echo off&setlocal enabledelayedexpansion
set a=0
for /l %%i in (1 1 100) do (
    set c=%%i
    set /a a=!a!+!c!
    cls&@echo !a!
)
pauseCOPY

TOP

这样行不?

@echo off
setlocal enabledelayedexpansion
for /l %%i in (1 1 100) do set /a b+=%%i
echo !b!
pauseCOPY

TOP

我也献丑

rem 此为第二个问题答案
@echo off
set /p a=请输入数值
for /l %%i in (1,1,%a%) do (
    set /a n+=%%i
)
echo %n%
pauseCOPY

TOP

收藏了有空来学习一下

TOP

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

TOP

不用FOR算出来的

@echo off
SET N=0
SET /P M=INPUT A NUMBER
:START
SET /A N+=1
SET /A SUM+=%N%
IF %N% EQU %M% (ECHO %SUM%) ELSE goto START
PAUSECOPY

TOP

@echo off
set n=101
:loop
set /a n=n-1
set /a m+=n
if %n% neq 0 goto loop
echo %m%
pauseCOPY

TOP

返回列表