小学一年级100以内进位加法和借位减法

新冠病毒疫情期间,正好小孩的口卡题算术本用完了,就用js写了个网页口卡题

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>数学题</title>
<style>

div {
  font-size: 1rem;
}
input {
  width: 40px;
}
span {
  display: none;
}
div {
  text-align:center;
}
</style>
</head>
<body>
  <div id="main">

  </div>
  <div id="but">
    <input type="button" value="确定" onclick="submit();"></input>
  </div>
  <div id="time">

  </div>
  <script type="text/javascript">
        //题目数量
        const totalCount=50;
        //加法最大值
        const maxValue=100;
        //检查答案
        function submit()
        {
          if(!confirm("确定要提交答案吗?"))
          {
            return;
          }
          for(var i=1;i<totalCount+1;i++)
          {
            var m=document.getElementById("ans"+i).innerText;
            var ans=document.getElementById("val"+i);
            var ansValue=ans.value;
            if(m!=ansValue)
            {
              ans.style.backgroundColor = '#FF0000' ;
            }
            else {
              ans.style.backgroundColor = '#FFFFFF' ;
            }
          }
        }
        //产生15、16...19、25、26...59数组
        function getNums1()
        {
          var nums=[];
          for(var i=0;i<5;i++)
          {
            for(var j=0;j<5;j++)
            {
              nums[i*5+j]=(i+1)*10+5+j;
            }
          }
          return nums;
        }
        //产生65、66、67...99数组
        function getNums2()
        {
          var nums=[];
          for(var i=0;i<4;i++)
          {
            for(var j=0;j<5;j++)
            {
              nums[i*5+j]=(5+i+1)*10+5+j;
            }
          }
          return nums;
        }
        //获取n-m之间的随机正整数,包含n和m
        function rnd(n, m){
          var random = Math.floor(Math.random()*(m-n+1)+n);
          return random;
        }
        window.onload = function () {
          var text="";
          var nums1=getNums1();
          var nums2=getNums2();
          var num=[];
          for(var i=0;i<nums1.length;i++)
          {
            num[i]=nums1[i];
          }
          for(var i=nums1.length;i<nums1.length+nums2.length;i++)
          {
            num[i]=nums2[i-nums1.length];
          }
          for(var i=0;i<num.length;i++)
          {
            console.log("i="+num[i]);
          }
          for(var i=1;i<totalCount+1;i+=2)
          {
            var he=101;
            var a=0;
            var b=0;
            while(he>maxValue)
            {
              a=num[rnd(0,num.length-1)];
              b=num[rnd(0,num.length-1)]
              he=a+b;
            }
            text+=a+"+"+b+"=<input type='text' id='val"+i+"'/><span id='ans"+i+"'>"+(a+b)+"</span>&emsp;&emsp;&emsp;";
            //被减数
            let minuend=0;
            //减数
            let subtractor=0;
            while(true)
            {
              minuend=rnd(11,99);
              subtractor=rnd(11,99);
              if(minuend<=subtractor)
              {
                continue;
              }
              //被减数个位数
              let minuendUnit=minuend%10;
              //减数个位数
              let subtractorUnit=subtractor%10;
              if(minuendUnit<subtractorUnit)
              {
                break;
              }
            }
            text+=minuend+"-"+subtractor+"=<input type='text' id='val"+(i+1)+"'/><span id='ans"+(i+1)+"'>"+(minuend-subtractor)+"</span>&emsp;&emsp;&emsp;";
            if(i%6==5)
            {
              text+="</br></br>";
            }
          }
          var main=document.getElementById("main").innerHTML=text;
        }
    </script>
</body>
</html>

 

posted @ 2021-01-30 16:22  carrot_hlb  阅读(358)  评论(0编辑  收藏  举报