zoukankan      html  css  js  c++  java
  • 四则运算出题器

    题目要求:编译一个能出四则运算题目的代码,具体要求为:1、所出题目不能重复2、可以输入任意题目数量和打印方式3、要求乘法题目计算结果为两位数,除法题目计算结果为整数,减法题目计算结果为正数。

    解题关键点及思路:这道题目的关键点在于所出题目不能出现重复,所以在解题中用到了数组,通过对每一次出题后存储数据的判断,来决定是否继续执行下面的循环语句,最终实现所出的题目不重复。

    代码:

    import java.util.Random;
    import java.util.Scanner;
    public class Num {
        static  Scanner sc=new Scanner(System.in);
     public static void main(String[] args) {
          boolean m4;
          int k=0;
          Random a=new Random();//实例化Random类对象
          System.out.println("请输入出题数目:");
          int n1=sc.nextInt();
          System.out.println("请输入打印方式:");
          int n2=sc.nextInt();
          int m1[]=new int[100000];//创建数组用来存储题目数据
          int m2[]=new int[100000];
          int m3[]=new int[100000];
             for(int i=0;i<n1;) {
              m4=false;
              int c1=a.nextInt(100);//获取随机数
        int c2=a.nextInt(100);//获取随机数
        int c3=a.nextInt(4);//获取随机数
          for(int j=0;j<k;j++) {//查找并判断题目是否重复
                     if(c1==m1[j]&&c2==m2[j]&&c3==m3[j]) {
                     m4=true;
                     break;
                     }
               }
             if(m4)
              continue;
       if(c3==0) {      //判断并输出题目类型
        System.out.print((i+1)+"."+c1+"+"+c2+"= ");
        i++;
       }
          if(c3==1&&c1>c2) {   //判断并输出题目类型
              System.out.print((i+1)+"."+c1+"-"+c2+"= ");
              i++;
       }
          if(c3==1&&c1<=c2){    //判断并输出题目类型
        System.out.print((i+1)+"."+c2+"-"+c1+"= ");
        i++;
       }
         
       if(c3==2) {    //判断并输出题目类型
        if(c1*c2<100) {
           System.out.print((i+1)+"."+c1+"*"+c2+"= ");
           i++;
       }
        else
         continue; 
       }
       if(c3==3) {     //判断并输出题目类型
        if(((c2!=0)&&(c1%c2)==0)) {
        System.out.print((i+1)+"."+c1+"/"+c2+"= ");
        i++;
          }
        else
         continue;
       }
       m1[k]=c1;//将题目数据存储到数组
       m2[k]=c2;
             m3[k]=c3;
             k=k+1;
       if(i%n2==0) {   //换行操作
         System.out.println("");
       } 
       }
    }
    }
    运行结果:
    请输入出题数目:
    100
    请输入打印方式:
    10
    1.83-3= 2.52-47= 3.15+80= 4.80+67= 5.54+76= 6.64-27= 7.34+79= 8.30+30= 9.48+24= 10.66+14=
    11.69-3= 12.49-19= 13.77+22= 14.79-69= 15.49-26= 16.8+39= 17.88-75= 18.42+37= 19.22-21= 20.41+27=
    21.88-83= 22.29+12= 23.67+23= 24.32-30= 25.88+82= 26.62-8= 27.99-52= 28.55+65= 29.85-63= 30.91-30=
    31.59-53= 32.70+76= 33.63-58= 34.84-15= 35.86-72= 36.52+40= 37.84+93= 38.97-61= 39.89-26= 40.73+45=
    41.27-7= 42.41+81= 43.46*0= 44.40-0= 45.79+98= 46.32+46= 47.85-12= 48.59-14= 49.89-81= 50.90-50=
    51.40+14= 52.81-56= 53.91-24= 54.11+86= 55.41+38= 56.45-26= 57.30-12= 58.60-26= 59.23+64= 60.67+75=
    61.81-6= 62.29-25= 63.67+63= 64.48+26= 65.98-54= 66.81+49= 67.26+98= 68.87-72= 69.86+99= 70.81-74=
    71.73-13= 72.91-55= 73.50-7= 74.93-78= 75.6*13= 76.65+80= 77.76-69= 78.43-5= 79.60-31= 80.51-1=
    81.94-18= 82.6+56= 83.39-23= 84.86-13= 85.53/53= 86.52+99= 87.32-28= 88.49-28= 89.86-52= 90.74+13=
    91.23+19= 92.68-11= 93.2+27= 94.61+83= 95.84+16= 96.26+46= 97.68-43= 98.99-98= 99.48+4= 100.93-74=
  • 相关阅读:
    【洛谷6776】[NOI2020] 超现实树(思维)
    【洛谷6773】[NOI2020] 命运(线段树合并优化DP)
    【洛谷5467】[PKUSC2018] PKUSC(计算几何)
    【洛谷3688】[ZJOI2017] 树状数组(二维线段树)
    【BZOJ4543】[POI2014] Hotel加强版(长链剖分优化DP)
    【洛谷5466】[PKUSC2018] 神仙的游戏(FFT)
    【BZOJ4574】[ZJOI2016] 线段树(动态规划)
    【洛谷7114】[NOIP2020] 字符串匹配(Z函数)
    扩展 KMP(Z 函数)学习笔记
    最后的胡言乱语
  • 原文地址:https://www.cnblogs.com/MoooJL/p/11545126.html
Copyright © 2011-2022 走看看