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

算法效率比较低。
  1. ::输出0-7组成的大于500的奇数个数
  2. ::code by nomyself
  3. ::05/12/2008
  4. @echo off
  5. rem 初值为1
  6. set sum=0
  7. set n=1
  8. goto set
  9. :set
  10. rem 将值赋予临时变量k并转入判断是输出还是续循环
  11. set k=%n%
  12. goto flag
  13. :flag
  14. rem k大于0就继续循环,否则就转入输出
  15. if %k% GTR 0 (call goto while) else goto printf
  16. :while
  17. rem  将j的值与7比较,小于7就设flag为1并重置循环数k;大于7就增加n的值
  18. set /a j=%k%%%10
  19. if %j% LEQ 7 (call goto setwhile) else goto add
  20. :setwhile
  21. set flag=1 & set /a k/=10
  22. goto flag
  23. :printf
  24. if %flag%==1 set /a sum+=1
  25. :add
  26. ::n自增2并且n大于500就输出总数
  27. set /a n+=2
  28. if %n% GTR 500 goto end
  29. goto set
  30. :end
  31. echo 满足条件的值的总数为:%sum%
  32. pause
复制代码

TOP

返回列表