计算器——工程文档

一.输入与格式

1.数据规模

本文档的输入基于如下的要求:

(1)既然是小学生,我们假设他们不会计算超过10亿的数字。

(2)既然是出考试题,那么也不会出超过10亿道题目。

也就是说 n , r ∈ int;

2.格式要求:

本文档的输出格式为:

(1)       当制造试题时,输出为n行,每行是算式编号、一个句号和一个空格,后面是一个算式。算式包含等号。四则运算符号和等号前后各有一个空格。其余符号则没有。答案输出为n行,每行是算式编号、一个句号和一个空格,后面是一个答案。

(2)       试题的输出文件夹为Exercises.txt,答案的输出是Answer.txt。

(3)       当对比答案时,接收控制台指令 –e xxx –a xxx 。xxx为试题文件和对比的答案文件。读入试题时读入至文件结束,每行读入格式为算式编号、一个句号和一个空格,后面是一个算式。算式包含等号。四则运算符号和等号前后各有一个空格。其余符号则没有。读入答案时每行是算式编号、一个句号和一个空格,后面是一个答案。

(4)       输出一个文件,为正误信息。文件是Grade.txt,内容是正确的试题编号和错误的试题编号,每两个编号之间由一个逗号和一个空格隔开。

二.程序结构

程序的大体关系如图所示,由于没有相关软件,先拿画图画了一个。

三.具体实现方法

  1. 程序的括号

括号随机的生成,保证不造成违法的输入。可能括号内算式的优先级本来就高,加了括号不改变次序,也可能改变计算次序和计算结果。

  1. 算式的生成

算式生成的方法是,先生成所有互为素数的分子和分母。范围在Range之内,当range过大时,将range缩小为20000。

  1. 算式的计算

生成中缀表达式,Compute类中的work方法把中缀表达式变为后缀表达式,然后压栈进行计算。

  1. 答案输出

以字符串格式读入,处理字符串,得到数字栈和符号,依据后缀表达式来计算,最后在栈里的第一个数就是结果。

  1. 答案格式

答案转成字符串 以字符串格式输出。

Week 1 工程文档的更多相关文章

  1. Go Doc文档

    Go为我们提供了快速生成文档和查看文档的工具,很容易编写查看代码文档.在项目协作过程中,可以帮助我们快速理解代码. 查看文档方式有两种:一种是通过终端查看,使用go doc命令,一种是通过网页查看,使 ...

  2. apidoc接口文档的快速生成

    官方文档连接:http://apidocjs.com/#demo apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和Javascript等.使用 ...

  3. .NET项目工程生成一份项目帮助文档chm--Sandcastle工具

    Sandcastle的,由Microsoft创建的,是从创建MSDN风格的文档中使用的工具.NET程序集和关联的XML注释文件.目前的版本是 2010年6月发布.这是命令行并没有GUI前端,项目管理功 ...

  4. 使用Sandcastle工具为.NET项目工程生成一份项目帮助文档chm

    Sandcastle的,由Microsoft创建的,是从创建MSDN风格的文档中使用的工具.NET程序集和关联的XML注释文件.目前的版本是2010年6月发布.这是命令行并没有GUI前端,项目管理功能 ...

  5. net core Webapi基础工程搭建(三)——在线接口文档Swagger

    目录 前言 Swagger NuGet引用第三方类库 别急,还有 没错,注释 小结 前言 前后分离的好处,就是后端埋头做业务逻辑功能,不需要过多考虑用户体验,只专注于数据.性能开发,对于前端需要的数据 ...

  6. LDP - Linux文档工程的简介,包括帮助,向导和文档

    总览 SYNOPSIS Linux文档工程(LDP)为Linux社区提供多种自由文档资源,包括向导 (guide),常见问答 (FAQ),入门 (HOWTO) 以及手册页 (man-pages). 作 ...

  7. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  8. 拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布

    今天上海的天气真是不错,风和日丽.再次来到微软上海紫竹研发中心,心情很是愉快,喜欢这里的大草坪,喜欢这里的工程气氛,更喜欢今天来陪我的小伙伴们. 这次动手实验培训与以往最大的不同就是采用了开源文档的方 ...

  9. 使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码

    在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...

随机推荐

  1. [转]mysql和redis的区别

    转自https://www.cnblogs.com/zxh1297/p/9394108.html 1.mysql和redis的数据库类型 mysql是关系型数据库,主要用于存放持久化数据,将数据存储在 ...

  2. span 文本内容超过宽度自动换行

    span{word-break:normal; width:auto; display:block; white-space:pre-wrap;word-wrap : break-word ;over ...

  3. swift class的缺省基类(SwiftObject)与内存模型

    Hard Constraints on Resilience The root of a class hierarchy must remain stable, at pain of invalida ...

  4. windows下基于IIS配置ssl证书

    我这边用的是阿里云的免费证书,下面展示一下操作步骤. 首先登陆阿里云,搜索ssl证书进入ssl证书控制台.点击购买 然后选择免费版,配置如下: 选择立即购买,购买成功后回到ssl控制台即可查看证书.然 ...

  5. 在阿里云Centos下LNMP环境搭建

    首先,需要安装C语言的编译环境,因为Nginx是C语言编写的.通常大多数Linux都会默认安装GCC,如果没有的话,可以如下安装. 安装make: yum -y install gcc automak ...

  6. php 请求另一个服务器接口返回数据

    <?php /** * Created by PhpStorm. * User: thinkpad * Date: 2015/7/17 0017 * Time: 13:24 */ class A ...

  7. WIN10安装时msxml4.0提示2502、2503解决办法

    原文地址:https://jingyan.baidu.com/album/b87fe19e54535552183568f5.html?picindex=1 在Win10中,在安装msi安装包的时候常常 ...

  8. e 的由来

    https://www.zhihu.com/question/20296247 对数的发现 很多科学家发现对数螺线在自然界中广泛存在.从大如星系.台风,到小如花朵.海螺……宇宙中到处都是对数螺线的身影

  9. MYSQL联合多表更新和删除(转)

    文章转自http://www.cnblogs.com/andy_tigger/archive/2011/05/11/2043483.html 多表更新在 MySQL 3.23 中,你可以使用 LIMI ...

  10. 深入浅出的webpack构建工具---tree shaking打包性能优化(十二)

    阅读目录 1. 什么是tree-shaking? 2. 在webpack中如何使用 tree-shaking 呢? 3. 使用webpack-deep-scope-plugin 优化 回到顶部 1. ...