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

【练习-061】小学生加减法算式批处理生成器

出题目的:
  综合考查对set 命令以及if判断语句的运用
加分原则:
  优秀代码予以技术+1的鼓励
解题要求:
  1、请版主、技术组成员先将机会留给新人
  2、代码简洁、高效、无临时文件
题目如下:
  编写代码随机生成指定运算范围内的整数加减法算式,其中指定范围是由使用者输入,在这其中要注意加法运算
的和不能超过指定范围(上限),减法运算结果不能为负数(减数不能大于被减数),然后接收输入的答案并做出判
断,如果结果正确则显示正确,不正确显示不正确并给出正确结果,接收回车指令后给出下一个随机算式,这时不要
求再接收运算范围的输入。运行过程如下所示:
[attach]2980[/attach]
***共同提高***

指出二楼代码需要改进的地方

1、算式是随机生成的,不用选择加减法

2、代码采用了判断加返回call循环模式,在算法上效率较低
1

评分人数

***共同提高***

TOP

郁闷,没办法给贴子加分!!!
1

评分人数

    • 523066680: 这个含金量高一点,凑合着用吧技术 + 1
***共同提高***

TOP

回复 8楼 的帖子

参与精神是最重要的,不管你的代码写的怎么样,也不管你最后会得到什么样的评价,但起码你动了脑动了手,

你自己得到了提高。另外论坛现在的设置是不能加pb了,所以我只能对优秀的代码加技术分,希望兄弟不要为此而灰

心,继续努力,ok?
***共同提高***

TOP

回复 9楼 的帖子

有进步,但代码运算效率仍然不高,建议不要采用判断加返回的运算方法

小提示:加减法可以不分开写不?

[ 本帖最后由 batman 于 2010-9-20 14:55 编辑 ]
***共同提高***

TOP

回复 13楼 的帖子

如输入100,表明生成100以内的加减法,也就是减数和算式和均不大于100
***共同提高***

TOP

回复 15楼 的帖子

这是跟着教科书走的,10以内就是结果在10以内,100以内就是结果在100以内。
***共同提高***

TOP

先公布下我出题前的代码吧:

  1. @echo off&setlocal enabledelayedexpansion
  2. color 9f&mode con cols=40 lines=10
  3. echo.
  4. set /p num=请输入运算范围(如10以内输入10):
  5. set ".0=+"&set ".1=-"
  6. :lp
  7. cls&echo.
  8. set /a a=%random%%%%num%+1,b=%random%%%2
  9. if %a% equ 0 if %b% equ 1 set /a b=0
  10. if %a% equ %num% if %b% equ 0 set /a b=1
  11. if %b% equ 0 (
  12.    set /a "c=%random%%%(num-a)+1"
  13.    ) else (
  14.    set /a "c=%random%%%%a%+1"
  15. )
  16. set /a anser=%a%!.%b%!%c%&echo %a%!.%b%!%c%=?
  17. echo.
  18. set "_anser="&set /p _anser=请输入答案:
  19. echo.
  20. if "%anser%" equ "%_anser%" (
  21.    echo 正确
  22.    ) else (
  23.    echo 错误,正确答案是%anser%
  24. )
  25. pause>nul&goto lp
复制代码
***共同提高***

TOP

返回列表