找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 33119|回复: 3

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

[复制链接]
发表于 2008-8-16 20:06:00 | 显示全部楼层 |阅读模式
本帖最后由 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
练习而已
想改进下,若先输入的数大于后输入的数,我没办法算,我知道怎么办
可是我嫌麻烦
有没有更好的办法?
发表于 2008-8-16 20:15:00 | 显示全部楼层
难道负数就不能运算了??
发表于 2008-8-16 21:37:35 | 显示全部楼层
这样是不是要好一些?
  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
复制代码
发表于 2008-8-16 21:56:19 | 显示全部楼层
把这一句if %n% lss %z% goto c 改成 if %n% lss %z% set /a x=(%z%-%n%+1)*(%z%+%n%)/2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 18:22 , Processed in 0.015429 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表