使用语言:JavaScript
需求分析:
程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间
每个练习题至少要包含2种运算符。不能存在分数、负数与非整数。
练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中,不要输出额外信息,文件目录与程序目录一致
功能设计:
判断n是否合法
生成n个题目,题目满足要求
判断题目的结果是否为分数、负数与非整数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
请输入学号<input type="text" id="nname">
请输入一个数字<input type="text" id="shu">
<div id="timu"></div>
<script type="text/javascript"> var nname=document.getElementById('nname'); var shu=document.getElementById('shu'); var timu=document.getElementById('timu'); function fuhao(o){ var oyo; if(0 <o&&o<25){ oyo="+"; }else if(25<o&&o<50){ oyo="-"; }else if(50<o&&o<75){ oyo="*"; }else{ oyo="/"; } return oyo; } function chuti(n){ for(i=0;i<n;i++){ var oo=Math.floor((Math.random()*10+4)/2);//有多少个符号 var aAarr=[];//符号数组 for(q=0;q<oo;q++){ var m=Math.floor(Math.random()*100+1);//随机符号 aAarr[q]=fuhao(m); } var oo1=oo+1;//有多少数字 var oAarr=[];//随机数数组 for(z=0;z<oo1;z++){ oAarr[z]=Math.floor(Math.random()*100+1);//随机数 } var bigArarr=[]; for(p=0;p<oo1;p++){ //将符号与随机数混合 j=2*p; bigArarr[j]=oAarr[p]; l=j+1; bigArarr[l]=aAarr[p]; } var suanshi=bigArarr.toString(); var osuan=suanshi.replace(/,/g,''); osan=eval(osuan); var r = /^\+?[1-9][0-9]*$/ ;//正整数+0 if(osan<0){ //判断为非负数 i=i-1; }else if(r.test(osan)){ //判断为正整数+0 var para=document.createElement("p"); var node=document.createTextNode(osuan+"="+(osan)); para.appendChild(node); timu.appendChild(para); }else{ i=i-1; } } } shu.onblur=function(){ //添加学号dom操作 var parao=document.createElement("p"); var nodeo=document.createTextNode(nname.value); parao.appendChild(nodeo); timu.appendChild(parao); var n=document.getElementById('shu').value; var r = /^\+?[1-9][0-9]*$/ ;//正整数+0 if(r.test(n)){ chuti(n); }else{ alert("请输入正确正整数!!!"); } } </script>
</body>
</html>