标题: [数值计算] 批处理实现求两个整数之间所有整数相加之和 [打印本页]
作者: lrd 时间: 2008-8-16 20:06 标题: 批处理实现求两个整数之间所有整数相加之和
本帖最后由 pcl_test 于 2016-11-3 22:01 编辑
@echo off
:a
set /p z=请输入任意数字
set /p n=请输入另一数字
set /a x=(%n%-%z%+1)*(%z%+%n%)/2
if %n% lss %z% goto c
echo 由%z%加至%n%的和是%x%
pause>nul
set /p y=是否再算一组(Y/N)?
if "%y%"=="y" goto a
if "%y%"=="n" goto b
:b
echo 那算了86
pause>nul&exit
:c
echo 你的输入有问题吧?
pause>nul&goto a
练习而已
想改进下,若先输入的数大于后输入的数,我没办法算,我知道怎么办
可是我嫌麻烦
有没有更好的办法?
作者: huahua0919 时间: 2008-8-16 20:15
难道负数就不能运算了??
作者: Batcher 时间: 2008-8-16 21:37
这样是不是要好一些?- @echo off
- :a
- set /p z=请输入任意数字
- set /p n=请输入另一数字
- echo 由%z%加至%n%的和是
- if %n% lss %z% (
- set t=%z%
- set z=%n%
- set n=%t%
- )
- set /a x=(%n%-%z%+1)*(%z%+%n%)/2
- echo %x%
- pause>nul
- set /p y=是否再算一组(Y/N)?
- if /i "%y%"=="y" goto a
- if /i "%y%"=="n" goto b
- :b
- echo 那算了86
- pause>nul&exit
- :c
- echo 你的输入有问题吧?
- pause>nul&goto a
复制代码
作者: shqf 时间: 2008-8-16 21:56
把这一句if %n% lss %z% goto c 改成 if %n% lss %z% set /a x=(%z%-%n%+1)*(%z%+%n%)/2
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |