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

[数值计算] [已解决]批处理if语句应用求解答

为什么两段代码运行结果会不一样
==============代码1================
  1. setlocal enabledelayedexpansion
  2. set /p a=输入整数大于0:
  3. set /p b=输入整数小于a:
  4. set /a c=a/b
  5. set /a d=a-c*b
  6. set /a m=0,n=1
  7. for /l %%i in ( 1 1 %a% ) do (
  8. echo %%i >>abc-!n!.txt
  9. set /a m=m+1
  10. if !n! leq %d% (
  11. if !m! geq %c%+1 (
  12. set m=0
  13. set /a n=n+1)
  14. ) else (
  15. if !m! geq %c% (set m=0
  16. if !n! lss %b% (set /a n=n+1)
  17. )
  18. )
  19. )
  20. pause
复制代码
==============代码2================
  1. setlocal enabledelayedexpansion
  2. set /p a=输入整数大于0:
  3. set /p b=输入整数小于a:
  4. set /a c=a/b
  5. set /a d=a-c*b
  6. set /a m=0,n=1
  7. for /l %%i in ( 1 1 %a% ) do (
  8. echo %%i >>abc-!n!.txt
  9. set /a m=m+1
  10. if !n! leq %d% (
  11. if !m! [color=Red]equ[/color] %c%+1 (
  12. set m=0
  13. set /a n=n+1)
  14. ) else (
  15. if !m! [color=Red]equ[/color] %c% (set m=0
  16. if !n! lss %b% (set /a n=n+1)
  17. )
  18. )
  19. )
  20. pause
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# GNU

比如a=10,b=3,就是将1,2,3,4,5,6,7,8,9,10分3份放入abc-1,abc-2,abc-3
实现
abc-1内容为
1
2
3
4
abc-2内容为
5
6
7
abc-3内容为
8
9
10

TOP

回复 4# GNU

多谢大神,结果对了程序不一定对

TOP

返回列表