【发布时间】:2014-03-02 16:13:46
【问题描述】:
我需要创建一个 for 循环来总结从 1 到 x 的数字,其中 x 是用户输入的数字。 我知道如何制作 for 循环并显示这些数字,但我不知道如何同时对它们求和。
FOR /L %%x IN (1,1,%x%) DO ( echo %%x
)
【问题讨论】:
-
set /A sum=x*(x+1)/2
标签: batch-file for-loop
我需要创建一个 for 循环来总结从 1 到 x 的数字,其中 x 是用户输入的数字。 我知道如何制作 for 循环并显示这些数字,但我不知道如何同时对它们求和。
FOR /L %%x IN (1,1,%x%) DO ( echo %%x
)
【问题讨论】:
set /A sum=x*(x+1)/2
标签: batch-file for-loop
要进行算术运算,请使用set /a。还可以使用延迟扩展来使用块内的变量(在( 和) 之间)
setlocal enabledelayedexpansion
set sum=0
FOR /L %%x IN (1,1,%x%) DO (
set /a sum=!sum!+%%x
echo + %%x = !sum!
)
【讨论】:
set /a sum=sum+%%x 工作正常。您也可以使用set /a sum+=%%x。但是,如您的 ECHO 语句所示,需要延迟扩展。