标题: 批处理计算1+2+3+4+...+100=? [打印本页]
作者: youxi01 时间: 2008-1-3 23:02 标题: 批处理计算1+2+3+4+...+100=?
计算从1到100的数字之和
要求:
不能直接echo,必须用程序计算出结果;
拓展提高:计算1+2+3+4+....+n=?
这里的n为用户输入的数字。
请用code标签把代码部分首尾括起来。
Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
参考:批处理之家论坛使用常见问题FAQ
http://bbs.bathome.net/thread-3473-1-1.html
作者: 小竹 时间: 2008-1-3 23:09
- @echo off
- set n=1
- set /p n=input a number!
- for /l %%i in (1,1,%n%) do (
- set /a sum+=%%i
- )
- echo %sum%
- pause
复制代码
作者: ieutk 时间: 2008-1-4 13:46
说一下
set n=1这句在你的代码中没有起到作用,可以不加
区分数字跟其它字符可以用这个代码- echo %n%|findstr "^[1-9][0-9]*$">nul
复制代码
作者: 随风 时间: 2008-1-4 13:59
原帖由 ieutk 于 2008-1-4 13:46 发表
说一下
set n=1这句在你的代码中没有起到作用,可以不加
区分数字跟其它字符可以用这个代码echo %n%|findstr "^[1-9][0-9]*$">nul
不明白为何要这样写?
echo %n%|findstr "^[0-9]*$">nul
这样不行么?
作者: ieutk 时间: 2008-1-4 14:25
不明白为何要这样写?
echo %n%|findstr "^[0-9]*$">nul
这样不行么?
你这样写的话呢第一个字符就有可能是0
[ 本帖最后由 ieutk 于 2008-1-4 14:27 编辑 ]
作者: 随风 时间: 2008-1-4 14:40
原来是要排除0开头的.
[ 本帖最后由 随风 于 2008-1-7 12:34 编辑 ]
作者: fjcqlcx 时间: 2008-2-6 16:46 标题: 回复 2# 的帖子
应该设sum的初始值为0
set sum=0
作者: duanxianfell 时间: 2008-3-17 22:21
@echo off
for /l %%a in (1,1,100) do set /a b+=%%a
echo %b%
pause
作者: xiaoxx 时间: 2008-4-27 19:29
echo %n%|findstr "^[1-9][0-9]*$">nul
经典
作者: wjta 时间: 2008-4-27 20:49
不太明白...呵呵.
作者: lily33300 时间: 2008-4-28 18:16
本人是刚接触BAT的,2楼可以解释一下您写这个BAT的方法吗?THANK YOU!!
作者: vicp7764 时间: 2008-4-28 21:03
@echo off 关闭回显
set n=1 设置一个变量n ,他的值为1 (PS,这样设置没用~,这个变量没有用到~)
set /p n=input a number! 设置一个变量n..这个变量是交互形势的,就是说,是用户输入的数字
for /l %%i in (1,1,%n%) do (
set /a sum+=%%i
for循环增加数字并且增加的数字相加 (1,1,%n%)中第一个1表示开始的数字,第二个表示以一个单位(即1,2,3,4....)这样子逐个增加,%n%结束的数字(就是用户输入的数字)set /a=sum+=%%i 就是将循环的数字互相增加~
echo %sum% 显示最后的总和(即所有数的和)
pause 按任意键继续~
作者: coffechicken 时间: 2008-4-30 18:11
@echo off
set b=0
for /l %%i in (1 1 100) do (set /a b=b+%%i)
echo %b%
作者: 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
作者: yaohaixu 时间: 2008-5-5 22:51
@echo off
set /p n=请输入数据:
set /a c=0,a=0
:start
set /a a+=1, c=c+a
if "%a%"=="%n%" goto end
goto start
:end
echo. %c%
pause
对于第二个问题,我在上面的做了些改变,但是不好解决错误输入的情形
作者: yycup1111 时间: 2008-8-19 17:55
@echo off
:a
set a=0
set /p n=请输入加到几
for /l %%i in (1,1,%n%) do set /a a+=%%i
echo %a%
pause&cls&goto a
作者: hexiao361 时间: 2008-8-21 09:17
1+2+3+4+...+100=?
5050 小学题
作者: hexiao361 时间: 2008-8-21 09:20 标题: 回复 2楼 的帖子
第二次计算,是第一次的结果加上第二次的结果,有问题
作者: hexiao361 时间: 2008-8-21 09:22
原帖由 yycup1111 于 2008-8-19 17:55 发表
@echo off
:a
set a=0
set /p n=请输入加到几
for /l %%i in (1,1,%n%) do set /a a+=%%i
echo %a%
pause&cls&goto a
正确答案
作者: dishuo 时间: 2008-8-21 10:55
不用for,不用goto,不用递归,最最简单的方法,哈哈
还有比这更简单的思路吗??
@echo off
set /p n=请输入加到几?
set/a a=(1+n)*n/2
echo %a%
pause
作者: wangwei4106 时间: 2008-9-1 18:54
呵呵
做新手这么久了,还没回答问题啊!
现在就奉上我的答案!
- @echo off&setlocal EnableDelayedExpansion
- set a=0
- set /p n=请输入:
- for /l %%i in (1 1 %n%) do (
- set /a a+=%%i
- echo !a!
- )
- pause>nul
复制代码
[ 本帖最后由 wangwei4106 于 2008-9-1 18:56 编辑 ]
作者: loverwind 时间: 2008-9-2 09:47
想了半天,没有做出来,只能看一下大家的思路了
作者: xjxxdnmwj 时间: 2008-9-5 11:19
@echo off
set /a sun=0
FOR /L %%i IN (1,1,100) DO set /a sun+=%%i
echo %sun%
pause
作者: qq641255849 时间: 2008-9-6 09:47
- @echo off
- set/p a1=头项
- set/p a2=末项
- set/p a3=相邻两个数之差
-
- set /a n=(%a2%-%a1%)/%a3%+1
- set /a n1=(%a1%+%a2%)*%n%/2
- echo %n1%&pause
-
- for /l %%a in (%a1% %a3% %a2%) do (set /a z+=%%a)
- echo %z%&pause
复制代码
支持间距两数之差为任意实数...
PS:算法很弱智...
[ 本帖最后由 qq641255849 于 2008-9-6 13:05 编辑 ]
作者: dywjzh 时间: 2008-9-8 12:48
- @ echo off
- for /l %%i in (1,1,100) do (set /a sum+=%%i)
- echo 从1到100的数字之和是:%sum%
- pause>nul
- set sum=0
- set /p input=随意输入壹个数字:
- for /l %%i in (1,1,%input%) do (set /a sum+=%%i)
- echo 从1一直加到你输入的数字之和是:%sum%
- pause>nul
复制代码
作者: bater 时间: 2008-9-9 10:57 标题: 我的做法
@echo off
set /p n=
set /a sum=(1+%n%)*%n%/2
echo %sum%
作者: 书皮 时间: 2008-9-9 19:17
@echo off
set/p n="n等于? "
set/a s=1
set/a y=1
:d
set/a y=%y%+1
set/a s=%s%+%y%
if %y%==%n% goto p
goto d
:p
echo %s%
pause
作者: batbird 时间: 2008-9-12 10:50
@echo off
echo 计算1+2+3+......+n
set sum=0
set /p a=请输入n:
setlocal EnableDelayedExpansion
for /l %%i in (1,1,%a%) do (
set val=%%i
set /a sum=!!sum!+!val!!
)
echo 1+2+3+......+%a%=!sum!
endlocal
set sum=
set val=
set a=
pause
----------------------------------------------
看了看别人的代码,for /l %%i in (1,1,%input%) do (set /a sum+=%%i)
为什么这个时候可以不用延时变量?sum难道不是在预处理中就替换了的?
希望有高人解释解释
[ 本帖最后由 batbird 于 2008-9-12 10:57 编辑 ]
作者: wxcute 时间: 2008-9-15 13:41
- @echo off
- :hk
- set/p n=输入一个数:
- set/a m=(1+%n%)*%n%/2
- cls
- echo %m%
- goto hk
复制代码
作者: stu_light 时间: 2008-10-14 20:57
看看啊.. ..............看看
作者: xwfswh 时间: 2008-10-30 21:30
现学现卖中~
@echo off
set %%i=1
for /l %%i in (1 1 100) do set /a sum+=%%i
echo %sum%
pause
sum+=%%i这个参数弄了老半天
想通了~~以前有学过C++的一点基础。现在想起来了,暴汗!
至于提高题:
@echo off
set %%i=1
set /p n= 请输入N的值
for /l %%i in (1 1 %n%) do set /a sum+=%%i
echo %sum%
pause
嘿嘿,难倒不难,新手来的,批处理懂得太少了~~
格式方面不知道有什么错误没
[ 本帖最后由 xwfswh 于 2008-10-30 21:35 编辑 ]
作者: steven007 时间: 2008-12-19 16:10
@echo off &title 累加计算&color 1a&mode con cols=35 lines=10
set /p n=请输入从1累加到几的那个数:
set /a t=0
for /l %%i in (1,1,%n%) do (set /a t=t+%%i)
echo 累加结果是:%t%
pause >nul
作者: firewolf85 时间: 2008-12-21 10:29
- @echo off
- set /p n=请输入N:
- set num=0
- FOR /l %%i in (1 1 %n%) do (
- set /a num+=%%i
- )
- echo 1+2+3+...+%n%=%num%
- pause>nul
复制代码
作者: skuny 时间: 2009-1-9 11:13
@echo off
for /l %%i in (100,-1,1) do set /a sum+=%%i
echo %sum%
pause>nul
作者: p05401144 时间: 2009-1-19 10:25
前几天有事,现在又可以坐下来学习了
@echo off
for /l %%i in (1 1 100) do (set /a sum+=%%i)
echo 1+2+3+...+100=%sum%
pause
作者: zcy85611 时间: 2009-1-19 10:50
- @echo off&setlocal EnableDelayedExpansion
- set /p num=请输入数字:
- for /l %%a (1 1 %num%) do (
- set /a n=n+%%a
- )
- echo 运算结果:!n!
- pause>nul
复制代码
[ 本帖最后由 zcy85611 于 2009-1-19 10:53 编辑 ]
作者: denev2004 时间: 2009-2-3 16:36
@echo off
set /p nax=1+2+3+4+. . . . . . . . . . . . . +
set /a answer=(1+%nax%)*%nax%/2
echo %answer%
pause > nul
看见第一楼用的for,我感觉既然公差一定用求和公式就好了
作者: kingerpk 时间: 2009-2-6 23:33
- @echo off
- set x=1
- for /l %%a in (2,1,100) do (
- set /a x=x+%%a
- )
- echo %x%
- pause
复制代码
作者: kingerpk 时间: 2009-2-6 23:41
- @echo off
- set /p x=1+2+3+4+5+6+7+8+9+~~~~~:
- set y=1
- for /l %%a in (2,1,%x%) do set /a y=y+%%a
- echo %y%
- pause
复制代码
作者: irresolute 时间: 2009-2-16 10:47 标题: 我来试
- @echo off
- :main
- set aa=
- setlocal enabledelayedexpansion
- set /p n=请输入数字n:
- for /l %%i in (1,1,%n%) do (
- set /a aa=!aa!+%%i)
- echo !aa!
- pause>nul
- goto :main
复制代码
算法真简单
作者: irresolute 时间: 2009-2-16 10:48 标题: 试
- @echo off
- :main
- set aa=
- setlocal enabledelayedexpansion
- set /p n=请输入数字n:
- for /l %%i in (1,1,%n%) do (
- set /a aa=!aa!+%%i)
- echo !aa!
- pause>nul
- goto :main
复制代码
作者: zhouyongjun 时间: 2009-2-16 11:49
- @echo off
- set/p n= input a number :
- set/a s=n-1,s*=n/2,s+=n
- echo %s%
- pause
复制代码
[ 本帖最后由 zhouyongjun 于 2009-2-16 11:54 编辑 ]
作者: myzwd 时间: 2009-2-22 21:40 标题: 回复 1楼 的帖子
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1 1 100) do (
set /a tt+=%%i,sum=tt-1)
echo !sum!
作者: keen 时间: 2009-3-17 12:10
- @echo off
- set /p n= 请输入最后一个数:
- set /a sum=(1+%n%)*%n%/2
- echo 总和:%sum%
- pause
复制代码
作者: hyx 时间: 2009-3-18 15:00
计算1到100
@echo off
setlocal enabledelayedexpansion
set a=0
for /l %%i in (1,1,100) do set /a a=a+%%i
echo 1到100的数字之和为%a%
pause>nul
计算1到n
@echo off
echo 计算1+2+3+...+n=?
setlocal enabledelayedexpansion
set /p a=请输入n为几:
set b=0
for /l %%i in (1,1,%a%) do set /a b=b+%%i
echo 1到%a%的数字之和为%b%
pause>nul
作者: qq362220083 时间: 2009-3-18 15:42
- set /p maxnum=input a number:
- set /a sum=(%maxnum%+1)*%maxnum%/2
- echo.
- echo.
- echo.
- echo.%sum%
- pause>nul
复制代码
作者: pusofalse 时间: 2009-3-18 15:53 标题: 回复 46楼 的帖子
46楼的算法真高!~
作者: stuqx 时间: 2009-3-20 21:27
- @echo off
- set /a result=0
- set /p n=输入N的值:
- for /l %%a in (1,1,%n%) do set /a result+=%%a
- echo result=%result%
- pause
复制代码
作者: rogoo 时间: 2009-3-22 15:29
::以下为1-n
set /p num=其输入数字
set he=0
for /l %%i in (1,1,%num%) do (
set /a he=he+%%i
)
echo 和为%he%
pause
::以下为1-100
set he=100
for /l %%i in (1,1,100) do (
set /a he=he+%%i
)
echo 和为%he%
pause
作者: cainiao736 时间: 2009-3-29 14:08
- @echo off&setlocal enabledelayedexpansion
- set /p n=请输入n的值:
- set sum=0
- for /l %%i in (1,1,!n!) do set /a sum=!sum!+%%i
- echo %sum%
- pause
复制代码
作者: jwq 时间: 2009-3-29 15:45
set /a sum=0
for /l %%n in (0,1,100) do (
set /a sum=sum+%%n)
echo %sum%
pause
不晓得这段过不过关哈!
作者: sjzong 时间: 2009-5-5 22:43
看过了,也学习了……
作者: wjjy 时间: 2009-5-6 03:04
复制代码
作者: wangshuping42 时间: 2009-5-9 14:53 标题: 初次发代码,见笑了
@echo off
set sum=0
setlocal enabledelayedexpansion
for /l %%i in (1 1 100) do ( set /a sum=sum+%%i)
echo !sum!
pause>nul
作者: johnson3333 时间: 2009-6-27 17:37
- ::批处理计算1+2+3+4+...+100=?
- ::计算从1到100的数字之和
- ::要求:
- ::不能直接echo,必须用程序计算出结果;
- @echo off
- set var1=0
- set /p var2=请输入最大数:
- for /l %%a in (1 1 %var2%) do (set /a var1+=%%a)
- echo;%var1%
- pause
- @echo off
- set var1=0
- for /l %%a in (1 1 100) do (set /a var1+=%%a)
- echo;%var1%
- pause
复制代码
作者: wlsmen 时间: 2009-6-30 00:03
不能是(1+100)X50吗?
作者: keen 时间: 2009-6-30 10:23 标题: 回复 56楼 的帖子
楼主出本题的目的是让新手们熟悉批处理的基本语法,让新手们对批处理有个基本的概念。
你的想法是正确的,就是应该思考怎么样用批处理实现。
作者: lvyaojian 时间: 2009-12-14 13:15
1.- @echo off
- set /a sum=0
- for /l %%i in (1,1,100) do (
- set /a sum=sum+%%i
- )
- echo %sum%
- pause
复制代码
2.- @echo off
- set /p n=输入N:
- set /a sum=0
- for /l %%i in (1,1,%n%) do (
- set /a sum=sum+%%i
- )
- echo %sum%
- pause
复制代码
作者: vsbat 时间: 2009-12-14 13:59
@echo off
setlocal enabledelayedexpansion
set t=0
for /l %%i in (1 1 100) do set t=!t!+%%i
echo %t%=
set /a t=%t%
echo %t%
pause
作者: wsjxwj 时间: 2009-12-14 16:30
::a1
for /l %%i in (1,1,100) do (set /a num+=%%i)
echo %num%&pause>nul
::a2
set /p n=请输入一个数字:
for /l %%i in (1,1,%n%) do (set /a num+=%%i)
echo %num%&pause>nul
作者: pumahxh 时间: 2009-12-14 22:34 标题: 输入任意自然数求和,包括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)
- pause
复制代码
[ 本帖最后由 pumahxh 于 2009-12-14 22:59 编辑 ]
作者: nuifv12 时间: 2009-12-16 14:22
- @echo off
- set /p n=请输入数值:
- for /l %%i in (0,1,%n%) do (
- set /a sum=sum+%%i
- )
- echo %sum%
- pause
复制代码
作者: Fyk 时间: 2009-12-17 21:31
- @echo off
- for /l %%a in (1,1,6) do set /a var+=%%a
- echo %var%
- pause
复制代码
作者: Fyk 时间: 2009-12-17 21:31
- @echo off
- for /l %%a in (1,1,100) do set /a var+=%%a
- echo %var%
- pause
复制代码
作者: neorobin 时间: 2009-12-24 14:14
复制代码
作者: neorobin 时间: 2009-12-24 14:26
- @set /p n=请输入n:
- @set /a n=(n+1)*n/2
- @echo 结果:%n%&pause
复制代码
作者: a590687 时间: 2010-1-7 09:00
早上就是有灵感.- @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 lp
复制代码
作者: Kenmick 时间: 2010-1-18 18:41 标题: 新手交作业了,多多指教~~~
- @echo off
- set /p n=请输入任意数字
- echo 您输入的数字为:%n%
- for /l %%i in (1 1 %n%) do set /a num+=%%i
- echo 计算结果为:%num%
- pause >nul
复制代码
作者: foxJL 时间: 2010-1-18 19:11
这不就是直接应用的梯形面积公式吗,(上底+下底)*高/2。:)
作者: caimingbing 时间: 2010-1-22 08:52
- @echo off
- for /l %%i in (1,1,100) do (
- set /a n+=%%i
- )
- echo %%n
- pause
复制代码
作者: novioleo 时间: 2010-3-18 19:25 标题: 哎呀。
各位 那几个都不行哈~~
你们那几个只能在限定值内进行
如果超了
就是负的
而且你们的还是单次的不方便啊
我写了一段
请大虾帮忙改下- @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%
- pause
复制代码
作者: lengye 时间: 2010-4-12 20:29
- @echo off
- set /p n=请输入数字:
- cls
- set /a x=%n%*(1+%n%)/2
- echo %x%
- pause
复制代码
作者: 634175535 时间: 2010-4-16 23:39
玩的不是批处理玩的是寂寞呐
作者: 634175535 时间: 2010-4-24 15:00
- @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>nul
复制代码
作者: mangci 时间: 2010-5-12 23:49
- @ echo off
- set /a num=(100+1)*(100/2)
- echo,%num%
- pause
复制代码
作者: michael8111 时间: 2010-6-14 16:49
- @ echo off
- set /a num=1+2+3+4+...+100
- echo %a%
- pause
复制代码
作者: lscorpion 时间: 2010-6-14 21:01
- @echo off //关闭回显
- set /a sum=0 //一开始总和为0
- for %%i in(1,1,100) do (set /a sum++) //循环100次对sum进行累加
- call echo 总的结果是:%sum% //输出最终结果
- pause //暂停
- exit
复制代码
作者: chenfei 时间: 2010-6-29 05:14 标题: 只知道是用个FOR循环
只知道用一个循环,但是具体说不清楚
大概貌类似于
赋值一个自变量X=1 X<=100
下一句:X=X+1
然后GOTO到前面,当条件不符合时,退出循环吧,呵呵我很菜,不要笑我哦
作者: xjc080304 时间: 2010-7-12 18:46 标题: 回复 12楼 的帖子
这解释太完美了。让人豁然开阔。
作者: poxi 时间: 2010-7-18 18:49
答:-
- @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 1
复制代码
作者: solid 时间: 2010-7-27 22:57
- @echo off
- SETLOCAL ENABLEDELAYEDEXPANSION
- for /l %%a in ( 0 1 100 ) do (
- set ji=%%a
- set /a jia+=!ji!
- )
- echo !jia!
- pause
复制代码
作者: rogue_1983 时间: 2010-8-4 23:16 标题: 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
作者: fish 时间: 2010-8-6 17:06 标题: 根本用不着循环嘛。。。
- @echo off
- set /p n=请输入:
- set /a sum=(1+%n%)*%n%/2
- echo 1加到%n%的和是%sum%
- pause
复制代码
作者: qq506657335 时间: 2010-8-22 21:51
- @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!
- )
- pause
复制代码
作者: rogue_1983 时间: 2010-8-24 19:55 标题: 这样行不?
- @echo off
- setlocal enabledelayedexpansion
- for /l %%i in (1 1 100) do set /a b+=%%i
- echo !b!
- pause
复制代码
作者: lvsehuaxue 时间: 2010-9-17 20:30 标题: 我也献丑
- rem 此为第二个问题答案
- @echo off
- set /p a=请输入数值
- for /l %%i in (1,1,%a%) do (
- set /a n+=%%i
- )
- echo %n%
- pause
复制代码
作者: win 时间: 2010-9-20 23:14
收藏了有空来学习一下
作者: piedcity 时间: 2010-9-20 23:14
- @echo off
- set /a var=0
- for /l %%i in (1,1,100) do (
- set /a var+=%%i
- )
- echo %var%
- pause
复制代码
作者: gaoyi445267987 时间: 2010-9-21 21:01 标题: 不用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
- PAUSE
复制代码
作者: lvsehuaxue 时间: 2010-9-26 14:47
- @echo off
- set n=101
- :loop
- set /a n=n-1
- set /a m+=n
- if %n% neq 0 goto loop
- echo %m%
- pause
复制代码
作者: edmond 时间: 2010-10-1 20:41
- @echo off
- set t=0
- for /l %%a in (1 1 100) do (
- set/a t+=%%a
- )
- echo %t%
- pause
复制代码
作者: qinshi52 时间: 2010-10-5 17:35
- @echo off&setlocal enabledelayedexpansion
- for /l %%i in (1,1,100) do set /a s+=%%i
- echo !s!
- pause
复制代码
- @echo off&setlocal enabledelayedexpansion
- set /p n=请输入数字:
- for /l %%i in (1,1,!n!) do set /a s+=%%i
- echo !b!
- pause
复制代码
作者: photonjl 时间: 2010-10-5 21:26
- ::从1加到100的
- @echo off
- set str=0
- for /l %%i in (1,1,100) do (
- set /a str+=%%i
- )
- echo %str%
- pause>nul
复制代码
作者: photonjl 时间: 2010-10-5 21:30
- ::任意数值的计算
- @echo off
- set str=0
- set /p var=input number
-
- for /l %%i in (1,1,%var%) do (
- set /a str+=%%i
- )
- echo %str%
- pause>nul
复制代码
作者: lys5300 时间: 2010-10-5 22:32
- @echo off
- set /a sum=0
- for /l %%a in (1 1 100) do (
- set/a sum+=%%a
- )
- echo %sum%
- set sum=
- pause>nul
复制代码
作者: smallpigs 时间: 2010-10-22 14:46
@echo off
:abc
cls
set /a i = 1
set /p n=請輸入數字:
if {%n%}=={} goto abc
:acb
set /a i+=1,j+=i
if %i% neq %n% goto acb
echo %j%
pause
作者: smallpigs 时间: 2010-10-22 14:47
@echo off
:abc
cls
set /a i = 1
set /p n=請輸入數字:- @echo off
- :abc
- cls
- set /a i = 1
- set /p n=請輸入數字:
- if {%n%}=={} goto abc
- :acb
- set /a i+=1,j+=i
- if %i% neq %n% goto acb
- echo %j%
- pause
复制代码
if {%n%}=={} goto abc
:acb
set /a i+=1,j+=i
if %i% neq %n% goto acb
echo %j%
pause
作者: lmhxly 时间: 2010-10-22 19:25
{code}
@echo off
set a=0
set b=0
:a
echo +%a%=%b%
set /a a+=1
set /a b=%b%+%a%
if %a% gtr 100 (pause) else (goto a
exit
{/code}
作者: zsllq 时间: 2010-10-27 15:35
- @echo off
- set var=0
- for /l %%a in (1,1,100) do (set /a var=var+%%a)
- echo 1+2+3+4+...+100=%var%
- pause>nul
复制代码
[ 本帖最后由 zsllq 于 2010-10-27 15:36 编辑 ]
作者: weichenxiehou 时间: 2010-10-28 09:19
- @echo on&setlocal enabledelayedexpansion
- set sum=0
- for /l %%i in (1,1,100) do (set /a sum+=%%i)
- echo 1+2+...+100=!sum!
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |