随机四则运算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>

时间: 2024-10-10 04:05:13

随机四则运算1.1版的相关文章

随机四则运算 C语言

设计思想:出三十道一百以内数的随机四则运算题目,先随机两个一百以内的数字,再通过随机数确定四则运算算符,最后通过for循环输出三十道 源代码程序: #include <stdlib.h>#include <iostream.h>#include <conio.h>#include <time.h>int main(){ int a = 0; int b = 0; int mode = 0;//0:加 1:减 2:乘 3:除 int i = 0; srand(

随机四则运算的改进

#include<stdio.h> int Menu() { int choic; printf("\n\n\n******************************************\n"); printf("1.四则运算整数习题(试卷型)\n"); printf("2.四则运算真分数习题(试卷型)\n"); printf("3.四则运算整数习题(同步练习型)\n"); printf("4.

300道随机四则运算小程序(java编写)

这是由Java编写的300道随机四则运算小程序, 运算数范围为0~100(不包括100),运算结果保留两位小数. 程序代码: import java.util.*; class Yunsuan{ public static void main(String[] args){ Random rand = new Random(); for(int i = 0; i < 300; i++){ int num1 = (int)(rand.nextDouble() * 100); int num2 =

四则运算2.0版

#include <stdio.h> #include <stdlib.h> main() { printf("\n\t欢迎使用四则运算练习软件\n\n"); Chioce(); } Chioce() { int ch1=0; printf("\t1.整数运算\n\t2.真分数运算\n\t请选择:"); scanf("%d",&ch1); if(ch1==1) { ZhengShuYunSuan(); } FenS

四则运算第三版

相对于第二版又提出了新的要求 1.学生写的程序必须能判定用户的输入答案是否正确 2.程序必须能处理四种运算的混合算式 要求两人合作分析,单独编程,单独撰写博客 设计思路: 核心问题在于如何对随即产生的四则运算进行求值 通过查阅资料和复习数据结构 发现可以采用中缀表达式转化为后缀表达式的方法 并采用栈结构 团队成员:罗元浩.赵承圣(http://www.cnblogs.com/zzcs/)

C#窗体-&gt;&gt;随机四则运算

用户需求: 程序能接收用户输入的整数答案,并判断对错程序结束时,统计出答对.答错的题目数量.补充说明:0——10的整数是随机生成的用户可以选择四则运算中的一种用户可以结束程序的运行,并显示统计结果.在此基础上,做增量开发.增量内容:1)处理用户的错误输入,比如输入字母或符号等,处理除法运算中分母为0的情况,处理结果为负数的情况,保证是小学水平不出现负数,比如不能出现5-8=-3这种情况:               2)用户可以设定倒计时:               3)用户可以设定随机整数的

随机四则运算的生成

这是一道简单的编程,随机的生成四则运算,不过还是不是很完美,还有一些欠缺! 源代码: #include<iostream.h>#include<time.h>#include<stdlib.h>void main(){ int a,b,i,op,r;//r记录回答结果 int flag=1; while(flag) { for(i=0;i<30;i++) { srand(time(0)); a = rand() % 100+1; b = rand() % 100+

软件工程随堂练习——随机四则运算

题目要求随机生成30道四则运算题目,则主体部分采用循环结构,运算符的随机产生则用随机数的模运算控制 源代码: #include<iostream>using namespace std;void main(){ for(int i=0;i<30;i++) {  int a=rand()%100;  int b=rand()%100;  int c=rand()%4;  switch(c)  {  case(0):   cout<<a<<"+"&

随机四则运算

题目:二柱子要为上二年级的儿子编写一个程序.本程序要求随机产生30道四则运算的题目. 编程思路:在这道题中一共有三个需要随机产生的变量,即第一操作数.符号(+.-.*./)和第二操作数.第一操作数和第二操作数的随机产生比较简单,并将其设置在100以内.但遇到随机符号的时候,我也将其转化成了对数字的随机,即运用if函数,通过对四个数的随机来对应指定的符号.最后用for函数将整体循环输出30次即可. 程序代码: #include<iostream.h> #include<stdlib.h&g