zoukankan      html  css  js  c++  java
  • 随机四则运算1.1版

    之前写的四则运算1.0版,现在继续扩充 :

    《四则运算》题目的功能,要求:

    题目避免重复;可以定制数量和打印方式;

    可以控制下列参数

    (1) 是否有乘除法

    (2) 是否有括号

    (3) 数值范围

    (4) 加减有无负数

    (5) 除法有无余数

    (6) 是否支持分数(真分数、假分数…)

    (7) 是否支持小数(精确到多少位?)

    (8) 打印中每行的间隔

    先上图看主要界面,及功能区,如下:

    1:

         一如既往的用JS来写,自认为在界面上可以做到更美观,功能也可以完全做到,

    那么找几个功能来演示,那么就从默认条件吧:

    先上代码,然后再看如何实现的:

     1 function default_fun(){                                        /////////////默认条件函数
     2         ifture_dx_1=1;
     3         ifture_dx_2=2;
     4         ifture_dx_3=0;
     5         ifture_dx_4=0;
     6         ifture_dx_5=5;
     7         
     8         Ture_numble_01=0;
     9         Ture_numble_02=50;
    10         Ture_numble_2=1;
    11         Ture_numble_3=0;
    12 
    13         Main_function();
    14     }

     各个value分别表示的是:

    ifture_dx_1=1  对应 “是否有乘除法”
    ifture_dx_2=2  对应“ 是否有括号
    ifture_dx_3=3  对应“加减是否有无负数 
    ifture_dx_4=0  对应“除法有无余数

    ifture_dx_5=5 对应“是否支持假分数 (Ture_numble_01=0;Ture_numble_02=50;)表示的是对应数字的给出范围 Ture_numble_2=1 对应”打印行间隔 Ture_numble_3=0 对应“小数位数

         以上 都是  默认条件    :  有乘除法 , 有括号,有负数,无余数,支持假分数,随机数范围(0———50),无小数位。

    上图看看打印结果:

    2:

    先贴个确定函数代码:

     1  function True_fun(){                                                      //////////确定条件函数
     2          if (true==document.getElementById("dx_1").checked){
     3             ifture_dx_1=1;
     4          }
     5          if (true==document.getElementById("dx_2").checked){
     6             ifture_dx_2=2;
     7          }
     8          if (true==document.getElementById("dx_3").checked){
     9             ifture_dx_3=3;
    10          }
    11          if (true==document.getElementById("dx_4").checked){
    12             ifture_dx_4=4;
    13          }
    14          if (true==document.getElementById("dx_5").checked){
    15             ifture_dx_5=5;
    16          }
    17          
    18          Ture_numble_01= parseInt(document.getElementById("numble_01").value);
    19          Ture_numble_02=parseInt(document.getElementById("numble_02").value);
    20          Ture_numble_2= parseInt(document.getElementById("numble_2").value);
    21          Ture_numble_3=parseInt(document.getElementById("numble_3").value);
    22         
    23          Main_function();
    24     }

    获取checkebox是否被点击,以及input输入框的输入值。

    3:

    接下来演示第一个功能,这就不贴代码了   后面贴上源代码   

    打印如下:

    其他功能不再演示 :

     

    源代码码上:

      1 <!DOCTYPE html>
      2 <html lang="zh-cn">
      3 <head>
      4     <meta charset="utf-8">
      5     <title>四则运算</title>
      6 </head>
      7 <body bgcolor="#F4A460">
      8 <h1 align="center">四则运算</h1>
      9 <hr />
     10 <h4>随机生成二十到四则运算题:</h4><br/>
     11 <form action="">
     12     <p>请选择条件:</p>
     13     <input type="checkbox" id="dx_1" value="1">是否有乘除法
     14     <input type="checkbox" id="dx_2" value="b">是否有括号
     15     <input type="checkbox" id="dx_3" value="c">加减有无负数
     16     <input type="checkbox" id="dx_4" value="d">除法有无余数
     17     <input type="checkbox" id="dx_5" value="e">是否支持假分数  <br/> <br/>
     18     数字范围:<input type="number" id="numble_01" min="-100" max="100" />&nbsp;到 &nbsp;
     19     <input type="number" id="numble_02" min="-100" max="100" /> &nbsp;&nbsp;&nbsp;&nbsp;
     20     打印中行的间隔:<input type="number" id="numble_2" min="2" max="20" />&nbsp;
     21     支持几位小数:<input type="number" id="numble_3"  min="0" max="10" /><br><br>
     22     <button type="reset">条件重置</button>
     23     <button type="button" onclick="default_fun()">默认条件</button>
     24     <button type="button" onclick="True_fun()">确定</button>
     25     <hr/>
     26 </form>
     27 <script>
     28     var  ifture_dx_1=null,ifture_dx_2=null,ifture_dx_3=null,ifture_dx_4=null,ifture_dx_5=null;
     29     var  Ture_numble_01=0,Ture_numble_02=0,Ture_numble_2=2,Ture_numble_3=0;
     30 
     31     function True_fun(){                                                      //////////确定条件函数
     32          if (true==document.getElementById("dx_1").checked){
     33             ifture_dx_1=1;
     34          }
     35          if (true==document.getElementById("dx_2").checked){
     36             ifture_dx_2=2;
     37          }
     38          if (true==document.getElementById("dx_3").checked){
     39             ifture_dx_3=3;
     40          }
     41          if (true==document.getElementById("dx_4").checked){
     42             ifture_dx_4=4;
     43          }
     44          if (true==document.getElementById("dx_5").checked){
     45             ifture_dx_5=5;
     46          }
     47          
     48          Ture_numble_01= parseInt(document.getElementById("numble_01").value);
     49          Ture_numble_02=parseInt(document.getElementById("numble_02").value);
     50          Ture_numble_2= parseInt(document.getElementById("numble_2").value);
     51          Ture_numble_3=parseInt(document.getElementById("numble_3").value);
     52         
     53          Main_function();
     54     }
     55     function default_fun(){                                        /////////////默认条件函数
     56         ifture_dx_1=1;
     57         ifture_dx_2=2;
     58         ifture_dx_3=0;
     59         ifture_dx_4=0;
     60         ifture_dx_5=5;
     61         
     62         Ture_numble_01=0;
     63         Ture_numble_02=50;
     64         Ture_numble_2=1;
     65         Ture_numble_3=0;
     66 
     67         Main_function();
     68     }
     69    function Max_fun(){                                                       /////////////求最大值函数                                     
     70           if(Ture_numble_01<Ture_numble_02){
     71              return Ture_numble_02;
     72           }
     73           else{
     74              return Ture_numble_01;
     75           }
     76         }
     77    function Min_fun(){                                 /////////////     求最小值函数                                          
     78           if(Ture_numble_01<Ture_numble_02){
     79              return Ture_numble_01;
     80           }
     81           else{
     82              return Ture_numble_02;
     83           }
     84         }
     85    function Get_num(min,max){                            ///////////给出范围内整数函数
     86     return Math.floor(Math.random()*(max-min))+min;
     87  }
     88    function if_brackets(num){                         //////////是否添加括号函数
     89           if(ifture_dx_2==2&&num<0){
     90             return "("+num+")";
     91           }else{
     92             return num;
     93           }
     94    }
     95  
     96    function if_xiaoshu(x,y){                             ///////////取小数函数
     97     var a=x/y,b=x%y,c=x-y;
     98     if(ifture_dx_4==4){
     99         if(c<0){
    100              return 0+":"+"因为分子比分母小,所以值为0";
    101         }else{
    102              return a.toFixed(0)+":余数为"+b;
    103         }
    104     }else{
    105              return a.toFixed(Ture_numble_3);
    106         }
    107     
    108    }
    109 </script>
    110 <script>
    111     var x,y,i=0;
    112     var value,a,b,c,flag=0;
    113      function  Main_function(){
    114         if(Min_fun()<0){
    115             flag=1;
    116         }
    117         for(i=0;i<20;i++){
    118             x=Get_num(Min_fun(),Max_fun());
    119             do{
    120                 y=Get_num(Min_fun(),Max_fun());
    121             }while(y==0);
    122             if(ifture_dx_1==1){                                  ////////////是否有乘除法
    123                 value=parseInt(10*Math.random()%4);   
    124             }else{
    125                  value=parseInt(10*Math.random()%2);
    126             }
    127              a=x+y;
    128              b=x-y;
    129              c=x*y;
    130         switch(value)
    131         {
    132             case 0:for(var j=0;j<Ture_numble_2;j++){
    133                    document.write("<br>");
    134                }
    135                    if(ifture_dx_3==3&&flag==1){
    136                     while(a>0){
    137                         x=Get_num(Min_fun(),Max_fun());
    138                         a=x+y;
    139                        }
    140                      document.write(i+1+"题"+":"+if_brackets(x)+"+"+if_brackets(y)+"="+a+"<br>");
    141                     }else{
    142                         document.write(i+1+"题"+":"+if_brackets(x)+"+"+if_brackets(y)+"="+a+"<br>");
    143                     }
    144                    break;
    145             case 1:for(var j=0;j<Ture_numble_2;j++){
    146                   document.write("<br>");
    147                }
    148                    if(ifture_dx_3==3){
    149                     while(b>0){
    150                         x=Get_num(Min_fun(),Max_fun());
    151                         b=x-y;
    152                        }
    153                      document.write(i+1+"题"+":"+if_brackets(x)+"-"+if_brackets(y)+"="+b+"<br>");
    154                     }else{
    155                         document.write(i+1+"题"+":"+if_brackets(x)+"-"+if_brackets(y)+"="+b+"<br>");
    156                     }
    157                    break;
    158             case 2:for(var j=0;j<Ture_numble_2;j++){
    159                      document.write("<br>");
    160                 }
    161                    document.write(i+1+"题"+":"+if_brackets(x)+"*"+if_brackets(y)+"="+c+"<br>");
    162                    break;
    163             case 3:for(var j=0;j<Ture_numble_2;j++){
    164                 document.write("<br>");
    165                 }
    166                     if (ifture_dx_5!=5){
    167                       while(b>0){
    168                         x=Get_num(Min_fun(),Max_fun());
    169                         b=x-y;
    170                        }
    171                       document.write(i+1+"题"+":"+if_brackets(x)+"/"+if_brackets(y)+"="+if_xiaoshu(x,y)+"<br>");
    172                   }else{
    173                         
    174                        document.write(i+1+"题"+":"+if_brackets(x)+"/"+if_brackets(y)+"="+if_xiaoshu(x,y)+"<br>");
    175                   }     
    176                    break;
    177             default:break;
    178         }
    179     }
    180 
    181 }
    182    
    183     
    184 </script>
    185 </body>
    186 </html>
    View Code
  • 相关阅读:
    poj3032
    poj2603
    poj2019
    poj2369
    AVI 录像功能压缩算法设置
    陆其明的新书《脚本驱动的应用软件开发方法与实践》
    c# 动态编译
    !!!分享:把bmp格式的图片转化为AVI格式的视频操作的封装类其中对于AVI API的函数的使用较为完整
    视频文件格式和视频编码方式
    activex 控件的id 定义位置+使用ocx控件的客户端程序中对控件定义的文件中控件id定义的位置
  • 原文地址:https://www.cnblogs.com/zxr63/p/5276510.html
Copyright © 2011-2022 走看看