[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 批处理实现求两个整数之间所有整数相加之和

本帖最后由 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
练习而已
想改进下,若先输入的数大于后输入的数,我没办法算,我知道怎么办
可是我嫌麻烦
有没有更好的办法?

难道负数就不能运算了??

TOP

这样是不是要好一些?
  1. @echo off
  2. :a
  3. set /p z=请输入任意数字
  4. set /p n=请输入另一数字
  5. echo 由%z%加至%n%的和是
  6. if %n% lss %z% (
  7.   set t=%z%
  8.   set z=%n%
  9.   set n=%t%
  10. )
  11. set /a x=(%n%-%z%+1)*(%z%+%n%)/2
  12. echo %x%
  13. pause>nul
  14. set /p y=是否再算一组(Y/N)?
  15. if /i "%y%"=="y" goto a
  16. if /i "%y%"=="n" goto b
  17. :b
  18. echo 那算了86
  19. pause>nul&exit
  20. :c
  21. echo 你的输入有问题吧?
  22. pause>nul&goto a
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

把这一句if %n% lss %z% goto c 改成 if %n% lss %z% set /a x=(%z%-%n%+1)*(%z%+%n%)/2

TOP

返回列表