• 四则


    题目:一家软件公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道四则运算题目给小学生做。

    二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 “软件”

    课堂测试2:

    (1)题目避免重复;

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

    设计思路:利用随机函数random()生成随机数,创建数组,把生成的四则算数式子存入数组,然后比较,避免重复。

    package jishu;

    import java.util.Random;

    import java.util.Scanner;

    public class Suanshu {

    static Scanner scan=new Scanner(System.in);

    static int num;

    static String[] str=new String[4];

    public static void main(String[]args) {

       int a[]=new int[1000000];

       int b[]=new int[1000000];

       int c[]=new int[1000000];

       System.out.print("请输入一共输入多少个");

    int x;

    num=scan.nextInt();

    System.out.println("一行个数");

    x=scan.nextInt();

    str[0]="+";

    str[1]="-";

    str[2]="*";

    str[3]="/";

    Random rand=new Random();

    int num0=0;

    int num1;

    int num2,num3;

    for(int i=0;i<num;i++) {

    int z=0;

    do {

    num1=rand.nextInt(99)+1;

    num2=rand.nextInt(4);

    if(num2==1) num3=rand.nextInt(num1);

    if(num2==2) {

    num3=rand.nextInt(100/num1);

    }

    else num3=rand.nextInt(98)+1;

    if(num0>=1) {

    for(int j=0;j<num0;j++) {

    if((num1==a[j])&&(num2==b[j])&&(num3==c[j])) {

    z=0;

    }

    else {

    a[j]=num1;

    b[j]=num2;

    c[j]=num3;

        z=1;

        num0++;

    }

    if(num0==0) {

    a[0]=num1;

    b[0]=num2;

    c[0]=num3;

                   num0++;

                   z=1;

     }

      }

    }

        }while(z==1);

    System.out.print(i+1);

    System.out.print("、");

    System.out.print(num1);

    System.out.print(str[num2]);

    System.out.print(num3);

    System.out.print("=");

    if((i+1)%x==0)

    System.out.println(" ");

    else

    System.out.print(" ");

     }

    }

    }

    运行结果:

    请输入一共输入多少个50
    一行个数
    5
    1、51*0= 2、50+81= 3、45*0= 4、15+34= 5、2/78= 
    6、17*4= 7、88/6= 8、30-18= 9、2*22= 10、73*0= 
    11、86/25= 12、55*0= 13、91/61= 14、12-40= 15、40*0= 
    16、2/43= 17、67/75= 18、73-73= 19、6/44= 20、38*1= 
    21、51*0= 22、81+91= 23、16+55= 24、3+6= 25、57*0= 
    26、83+58= 27、1*46= 28、51/38= 29、98*0= 30、88+12= 
    31、82*0= 32、12+2= 33、45-55= 34、14/48= 35、82/7= 
    36、22-40= 37、37+56= 38、35-27= 39、11-76= 40、28*2= 
    41、55/72= 42、19-52= 43、83/12= 44、48*1= 45、58+83= 
    46、16*1= 47、65/4= 48、75+41= 49、75/48= 50、50/59=

  • 相关阅读:
    MySQL与Oracle数据库差异对比
    阿里ECS服务器远程桌面访问报错
    单分派和多分派
    博客主题
    论文阅读:LIC-Fusion: LiDAR-Inertial-Camera Odometry
    如何科研(自动化所 张世峰)
    读论文
    SLAM十四讲第二版项目代码总结
    LeetCode 982. Triples with Bitwise AND Equal To Zero
    论文阅读:Visual-Inertial Localization With Prior LiDAR Map Constraints
  • 原文地址:https://www.cnblogs.com/PSLQYZ/p/11716971.html
Copyright © 2020-2023  润新知