zoukankan      html  css  js  c++  java
  • 随机生成4则运算题目

    二柱一下打印出好多份不同的题目,让孩子做了。老师看了作业之后,对二柱赞许有加。别的老师闻讯, 问二柱能否扩大他的影响力,编个软件,给二年级到四年级都用,多了一些小小的要求:

    1、题目避免重复;

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

    3、可以控制下列参数: 是否有乘除法、是否有括号、 数值范围、加减有无负数、除法有无余数、否支持分数 (真分数, 假分数, …)、是否支持小数 (精确到多少位)、打印中每行的间隔可调整;

      1 package firs;
      2 
      3 import java.util.Random;
      4 import java.util.Scanner;
      5 
      6 public class Calculation {
      7 public static void main(String[] args) {
      8     Random random = new Random();
      9     Scanner sca=new Scanner(System.in);
     10     int a ;
     11     int b ;
     12     int c ;
     13     int x=1;
     14     int n;
     15     int m;
     16     int j=0;
     17     int q[][]=new int[1000000][3];
     18     System.out.println("请输入所要打印的题数");
     19     n=sca.nextInt();
     20     System.out.println("请输入每行打印的题数");
     21     m=sca.nextInt();
     22     for(int i=0;i<=n;i++)
     23     {
     24         c=random.nextInt(4);
     25         if(c==0)
     26         {
     27              for(;;)
     28              {
     29                  int w=0;
     30                  a = random.nextInt(100)+1;
     31                  b = random.nextInt(100)+1;
     32                  for(int k=0;i<x;i++)
     33                  {
     34                      if(q[k][0]==a&&q[k][1]==b&&q[k][3]==c)
     35                      {
     36                          w=1;
     37                      }
     38                  }
     39                  if(w==0)
     40                  {
     41                      break;
     42                  }
     43              }
     44              System.out.print(x+".   "+a+" + "+b+"   ");
     45             
     46              q[x][0]=a;
     47              q[x][1]=b;
     48              q[x][2]=c;
     49              x++;
     50              if(j<m)
     51              {
     52                  j++;
     53              }
     54              if(j==m)
     55              {
     56                  j=0;
     57                  System.out.println(" ");
     58              }
     59         }
     60         if(c==2)
     61         {
     62             for(;;)
     63             {
     64                 for(;;)
     65                  {
     66                      int w=0;
     67                      a = random.nextInt(100)+1;
     68                      b = random.nextInt(100)+1;
     69                      for(int k=0;i<x;i++)
     70                      {
     71                          if(q[k][0]==a&&q[k][1]==b&&q[k][3]==c)
     72                          {
     73                              w=1;
     74                          }
     75                      }
     76                      if(w==0)
     77                      {
     78                          break;
     79                      }
     80                  }
     81                  if(a>b)
     82                  {
     83                      System.out.print(x+".   "+a+" - "+b+"   ");
     84                      q[x][0]=a;
     85                      q[x][1]=b;
     86                      q[x][2]=c;
     87                      x++;if(j<m)
     88                      {
     89                          j++;
     90                      }
     91                      if(j==m)
     92                      {
     93                          j=0;
     94                          System.out.println(" ");
     95                      }
     96                      break;
     97                  }
     98             }
     99         }
    100         if(c==3)
    101         {
    102             for(;;)
    103             {
    104                 for(;;)
    105                  {
    106                      int w=0;
    107                      a = random.nextInt(100)+1;
    108                      b = random.nextInt(100)+1;
    109                      for(int k=0;i<x;i++)
    110                      {
    111                          if(q[k][0]==a&&q[k][1]==b&&q[k][3]==c)
    112                          {
    113                              w=1;
    114                          }
    115                      }
    116                      if(w==0)
    117                      {
    118                          break;
    119                      }
    120                  }
    121                  if(a*b<100&&a!=0&&b!=0)
    122                  {
    123                      System.out.print(x+".   "+a+" x "+b+"   ");
    124                      q[x][0]=a;
    125                      q[x][1]=b;
    126                      q[x][2]=c;
    127                      x++;
    128                      if(j<m)
    129                      {
    130                          j++;
    131                      }
    132                      if(j==m)
    133                      {
    134                          j=0;
    135                          System.out.println(" ");
    136                      }
    137                      break;
    138                  }
    139             }
    140         }
    141         if(c==1)
    142         {
    143             for(;;)
    144             {
    145                 for(;;)
    146                  {
    147                      int w=0;
    148                      a = random.nextInt(100)+1;
    149                      b = random.nextInt(100)+1;
    150                      for(int k=0;i<x;i++)
    151                      {
    152                          if(q[k][0]==a&&q[k][1]==b&&q[k][3]==c)
    153                          {
    154                              w=1;
    155                          }
    156                      }
    157                      if(w==0)
    158                      {
    159                          break;
    160                      }
    161                  }
    162                  if(a%b==0&&b!=0&&a!=0)
    163                  {
    164                      System.out.print(x+".   "+a+" / "+b+"   ");
    165                      q[x][0]=a;
    166                      q[x][1]=b;
    167                      q[x][2]=c;
    168                      x++;
    169                      if(j<m)
    170                      {
    171                          j++;
    172                      }
    173                      if(j==m)
    174                      {
    175                          j=0;
    176                          System.out.println(" ");
    177                      }
    178                      break;
    179                  }
    180             }
    181         }
    182     }
    183 }
    184 }
  • 相关阅读:
    hdu 4002 Find the maximum
    hdu 2837 坑题。
    hdu 3123
    zoj Treasure Hunt IV
    hdu 2053 Switch Game 水题一枚,鉴定完毕
    poj 1430 Binary Stirling Numbers
    hdu 3037 Saving Beans
    hdu 3944 dp?
    南阳oj 求N!的二进制表示最低位的1的位置(从右向左数)。
    fzu 2171 防守阵地 II
  • 原文地址:https://www.cnblogs.com/2940500426yingxin/p/11551177.html
Copyright © 2011-2022 走看看