zoukankan      html  css  js  c++  java
  • 软件工程概论第二周综合测验----设计思路

    四则运算2

    程序要求:题目避免重复,可定制(数量、打印方式);可以控制下列参数:是否有乘除法,数值范围,加减有无负数,除法有无余数,是否支持分数。

    设计思路:

    1,题目避免重复:先出第一道题,再出第二道题的话首先判断第二道题的运算如果等于第一道题则有:第二道题的第一个随机数如果等于第一道题的第一个数且第二道题的第二个随机数等于第一道题的第二个数,则重新选数。否则继续。第三道题也从运算符开始判断。

    2,可定制数量、打印方式:设置一个变量,变量根据用户需要输入。即“请输入所需题目的数量:”和“每行打印题目数量:”。

    3,数值范围可以根据用户需要更改,则设置变量,rand()%a,通过输入a的取值来控制。

    4,可以控制以下参数(我根据自己的想法进行分块简化了):在总程序框架中设置选项,初步实现所出的题在其选项中实现,就是相当于在一张纸上进行分块。一块出的题只有这一块的这一类题。学生想做那一块的题就选择哪个选项。再分为是否有乘除法、有无负数、有无余数、是否支持分数等几块。

    (1)有乘除法:除法0不能做除数,如果0是除数则交换第一个数和第二个数的值。

    (2)有负数:负数在随机数中出现。感觉可以通过控制数值范围控制。

    (3)有余数:运算都是除法的情况下,除数不能整除被除数,如果整除,则改变除数(或被除数)。

    (4)支持分数:设置四个随机数,分母不能为0

    总结:初步想法是先分块实现,最后总合的时候可能有的功能不能很好地整合起来。按照我的想法是先实现分块,选择哪个选项,分块里只有这一类的题。先运行分块。最后通过改变函数顺序来整合。

  • 相关阅读:
    重链剖分的总结与模板
    PBDS学习笔记(一)
    LCT 第一题 洛谷模板
    2018年暑假第四次周赛-图论部分题解
    后缀数组求不同子串的个数
    Codeforces Round #106 (Div. 2) Coloring Brackets(区间DP)
    Codeforces Round #510 (Div. 2) D. Petya and Array (权值线段树)
    HDU 3974 Assign the task (dfs序+线段树)
    Manthan, Codefest 18 (rated, Div. 1 + Div. 2) D.Valid BFS? (模拟)
    POJ
  • 原文地址:https://www.cnblogs.com/15732115368zhm/p/4334866.html
Copyright © 2011-2022 走看看