zoukankan      html  css  js  c++  java
  • 四则运算思路

    一.要求:

    1、题目避免重复;

    2、可定制(数量/打印方式);

    3、可以控制下列参数:  

         是否有乘除法、

         是否有括号、  

         数值范围、

         加减有无负数、

         除法有无余数、

         否支持分数 (真分数, 假分数, …)、

         是否支持小数 (精确到多少位)、

         打印中每行的间隔可调整;

    ___________________________________________________________________________________________________________________________ 

    二.思路: 

        1. 基本原理:程序随机生成两个随机数和一个运算符(+,—,*,/),再加上等号=构成一道四则运算题。 

        2.再设计程序时将一个大的问题分成几个模块,运用不同的函数将这些模块设计出来,然后用函数调用把这些功能不同的模块联系起来。 

        3.具体:  

           (1)避免重复:已经成功生成的运算题储存在记事本中,将新生成的题的=前的部分与记事本中的题进行比较。
           (2)可定制:case
           (3)是否有乘除法:有乘除法,直接输出;无乘除法,去除运算题中就产生乘除法
           (4)是否有括号:对于三个数的四则运算,规定
           (5)数值范围:用随机数除以不同的数得到0-100,100-1000两个范围
           (6)加减有无负数:无负数且运算符号为减号时,要判断第一个运算数是否比第二个大,否则交换两个数。
           (7)除法有无余数:无余数,进行除法时,计算结果若有余数则跳出循环
           (8)是否支持分数:支持分数在产生运算数时,分数=分子/分母。
           (9)是否支持小数:支持小数,可选精确度。
           (10)每行的间隔调整:设置输出换行符,间隔不同输出几行,用循环进行。 

           (11)其他:例如0/0,0—0,0/X,0*0这类无意义的式子可以避免。

  • 相关阅读:
    HDU2438:Turn the corner(三分)
    XTU1267:Highway(LCA+树的直径)
    HDU6024:Building Shops(DP)
    “玲珑杯”ACM比赛 Round #13 B -- 我也不是B(二分排序)
    XTU1266:Parentheses(贪心+优先队列)
    Educational Codeforces Round 21 D
    Educational Codeforces Round 21E selling souvenirs (dp)
    EOJ3247:铁路修复计划
    关于工厂模式的 个人理解
    设计模式之 工厂方法
  • 原文地址:https://www.cnblogs.com/littilsaber/p/4325718.html
Copyright © 2011-2022 走看看