隨機四則運算1.1版

来源:http://www.cnblogs.com/zxr63/archive/2016/03/14/5276510.html
-Advertisement-
Play Games

之前寫的四則運算1.0版,現在繼續擴充 : 《四則運算》題目的功能,要求: 題目避免重覆;可以定製數量和列印方式; 可以控制下列參數 (1) 是否有乘除法 (2) 是否有括弧 (3) 數值範圍 (4) 加減有無負數 (5) 除法有無餘數 (6) 是否支持分數(真分數、假分數…) (7) 是否支持小數


之前寫的四則運算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

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  •                                                   
  • 瀏覽器和伺服器之間是通過 HTTP 協議進行連接通訊的。這是一種基於請求和響應模型的協議。瀏覽器通過 URL 向伺服器發起請求,Web 伺服器接收到請求,執行一段程式,然後做出響應,發送相應的html代碼給客戶端。 這就有了一個問題,Web 伺服器執行一段程式,可能幾毫秒就完成,也可能幾分鐘都完不成
  • 1.&按位“與”的計算是把兩個數字分別寫成二進位形式,然後按照每一位進行比較,&計算中,只要有一個是0就算成02.|運算轉換成2進位進行比較,兩個位只要有一個為1,那麼結果就是1,否則就為03.^兩個數轉換為2進位然後比較位,相同則結果為0,不同則結果為1
  • Maven引入    我們都知道,在JDK1.5之前,Java中要進行業務併發時,通常需要有程式員獨立完成代碼實現,當然也有一些開源的框架提供了這些功能,但是這些依然沒有JDK自帶的功能使用起來方便。而當針對高質量Java多線程併發程式設計時,為防止死蹦等現象的出現,比如使用java之前的wait(
  • 在《代碼重構(一):函數重構規則(Swift版)》和《代碼重構(二):類重構規則(Swift版)》中詳細的介紹了函數與類的重構規則。本篇博客延續之前博客的風格,分享一下在Swift語言中是如何對數據進行重構的。對數據重構是很有必要的,因為我們的程式主要是對數據進行處理。如果你的業務邏輯非常複雜,那麼
  • 以下內容為原創,歡迎轉載,轉載請註明 來自天天博客: 一個乾凈的架構 原文: 在過去幾年中我們能看到的一系列關於系統架構的思想。它們包括: [Hexagonal Architecture](也稱為 ),作者是 Alistair Cockburn,並被 Steve Freeman 和 Nat Pryc
  • 最近看了《head first 設計模式》一書,便總結了裡面的一些內容,今天就簡單介紹一下策略模式。 策略模式:定義了演算法族,分別封裝起來,讓他們能夠相互替換,此模式讓演算法的變化獨立於使用演算法的客戶。簡單來說,就是將各個演算法分別封裝起來,使得他們能夠互換。 下麵是策略模式的示例結構圖:   策略模式
  • 有時候項目閑下來想休息的時候會跑跑艦c遠征,但計時比較麻煩。 所以每個現場都會寫那麼幾個工具。以前是vba的,這次寫了個HTML的,感覺還算易用就仍上來了。省得以後換現場還得再寫。 純粹是偷懶時做的,各種不符合規範請無視吧。
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...