构建之法1:编写一个生成四则运算题目的程序

import java.util.*;
public class ArithmeticTopic {
    private static Random random = new Random();

    public ArithmeticTopic() {
        // TODO Auto-generated constructor stub
    }
    private String createNumber() {
        int number1 =1+random.nextInt(100);
        int point1 = 0;
        String numberString="";
        if(random.nextBoolean()) {
            point1 = number1;
            number1 = 1+random.nextInt(point1);
            if(point1==number1) point1=0;
        }
        if(point1>0) {
            numberString = ""+number1+"/"+point1;
        }else {
            numberString = "" +number1;
        }
        return numberString;
    }
    private String topicString() {
        char operator = ‘+‘;
        switch(random.nextInt(3))  {
            case 0 : operator = ‘+‘;    break;
            case 1 : operator = ‘-‘;    break;
            case 2 : operator = ‘*‘;    break;
            case 3 : operator = ‘/‘;    break;
            default: break;
        };
        return createNumber()+operator+createNumber()+"=";
    }
    public static void main(String[] args) {
        ArithmeticTopic topic = new ArithmeticTopic();
        for(int i=0;i<10;i++)
        System.out.println(topic.topicString());
    }
}

程序思路:

   产生真分数:先产生一个1-100的随机整数y, 依照随机布尔值判断是否再产生一个1-y的的随机整数x作为分子,形成x/y,如果x/y=1则直接输出x.

     产生四则运算表达式: 数x1,x2,字符串中间插入随机运算符,最后加上等号输出到命令行.

时间: 2024-12-09 05:47:52

构建之法1:编写一个生成四则运算题目的程序的相关文章

利用随机数生成器,编写一个小学生四则运算的练习程序

#include<iostream> using namespace std; int rand(int m, int n) { static int r; //默认初始值为0 do { r = (25173 * r + 13849) % 65536; } while (r < m||r >= n); return r; } void add(int, int*,double*); void sub(int, int*,double*); void mul(int, int*,do

3月10号周二课堂练习:关于自动生成四则运算题目的程序的延伸

对题目要求进行初步的分析: 1.判断两次随机数是否相同    将产生的题目保存(循环)下来,然后将结果进行(循环)比较. 2.多加入一个变量Num,来控制题目数量 3.在每一个switch选择的语句,进行选择判断  3.1选择是否有乘除法,  3.2是否有括号 判断是否加减乘除是否都存在,加减在算式中的位置,然后进行选择是否添加括号 3.3数值范围 主要控制随机数产生器模余的大小(如a=rand()%n,n可以取任意值)    3.4加减有无负数 比较减数和被减数的大小  3.5除法有无余数 将

基于c编写的关于随机生成四则运算的小程序

基于http://www.cnblogs.com/HAOZHE/p/5276763.html改编写的关于随机生成四则运算的小程序 github源码和工程文件地址:https://github.com/HuChengLing/- 基本要求: 除了整数以外,还能支持真分数的四则运算. 对实现的功能进行描述,并且对实现结果要求截图. 主要功能:运算小学四则运算,可以选择加减乘除以及混合运算. 设计思想:首先思考运算数字范围,考虑小学生的运算能力,然后分类运算方法,分为加减乘除混合运算, 然后可以选择是

Individual Project &quot;写一个能自动生成小学四则运算题目的程序&quot;

一.题目简介 写一个能自动生成小学四则运算题目的程序. 初步拟定要实现的功能后,估计一下自己需要花多长时间.编程过程中记录自己实际用了多长时间. 然后和同学们比较一下各自程序的功能.实现方法的异同等等. 二.源码的github链接 https://github.com/gaino1/IndividualProject 三.所设计的模块测试用例.测试结果截图 四.问题及解决方案.心得体会 要想学好C语言,要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自

软件工程关于自动生成四则运算题目程序的见解

1.需求分析 一个程序员在编写程序前第一件事就是要知道我要编写的程序是要干什么的,它要那些功能. 题目中要求一个能自动生成小学四则运算题目的程序,分析起来很简单,做起来也很简单. 2.实施 由于是小学四则运算题目 我们设定数字的大小不超过100,运算符号为+ - * /,而这一切要随机生成,不难想到要用到随机函数.首先使用SRAND函数设定随机数种子srand((unsigned)time(NULL)) ,再使用RAND函数控制随机生成我们想要的0-100的数字,至于如何生成加减乘除符号,我们可

自动生成四则运算题目

主要功能:随机生成四则运算题目 设计思想:先通过一个简单的四则运算,再不断完善 源代码 #include"stdio.h" main(){ int a,b,c,d; printf("自动生成四则运算:\n"); printf("%d+%d= \n",a,b); printf("%d-%d= \n",a,b); printf("%d*%d= \n",a,b); printf("%d/%d= \n&q

如何编写一个编译c#控制台应用程序的批处理程序

如何编写一个编译c#控制台应用程序的批处理程序 2011-03-22 18:14 dc毒蘑菇 | 浏览 579 次 最近在网上看了一个教程,是学C#的,但是我的机子上装不上vs,所以想写一个批处理来编译,因为每次都要我更改目录,然后复制路径,再编译,输出,特别的浪费时间,所以特来求助网友,希望帮帮忙 分享到: 2011-03-22 19:17 #快乐假期,智慧随行# 提问者采纳 不知道你有没有使用过ANT,你可以创建ANT脚本来构建你的应用程序.如果不是很了解,也不愿意编写的话,我介绍你一款可视

个人项目:自动生成四则运算题目总结

题目:写一个能自动生成小学四则运算题目程序 要求: 除了整数以外,还要支持真分数的四则运算 让程序能接受用户输入答案,并判断对错 对于求解四则运算的算法,在数据结构课程上有过相同的题目,但是当时我们需要做的求一个给定的四则运算题目的结果.根据逆波兰表达式将中缀式转换成后缀表达式再利用栈结构求解.这次的任务难点确在于随机生成四则运算题目.刚开始的想法太low了,根据常规表达式的结构随机生成一个数,一个运算符,再一个数……但是往深了想,这种方法很难实现,因为一个表达式不仅仅有操作数和+ - * /

用不同语言实现自动生成四则运算题目

Github项目地址:https://github.com/Aiyaxc/zuoye- 题目:用不同语言实现自动生成四则运算题目的命令行程序. (1)题目要求: a.  能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!) b. 除了整数外,还要支持真分数的四则运算  (2)思路: a.四则运算加减乘除,采用两个随机数,由于不能出现负数,所以在对两个随机数进行减法运算的时候,需要进行比较大小,而除法在运算中,除数不能取0. b.  进行真分数运算应注意假分数的影响