随着女儿的数学课程,几个月就要更新一次自动出题的程序.
本来不想继续发这种简单程序了,因为大体都一样,不过今天发现这种文章好多人关注哦.就再发一个
运行结果
源代码:
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head><body>
<button onclick="create();this.style.display='none';">生成</button>
<div id="result">
</div>
<script language="javascript">
//定位页面元素
function $(id){
return document.getElementById(id)
}
//生成随机数,最大为t,最小为b
function rand(b,t){
return Math.round(Math.random()*(t-b))+b
}
//生成最后页面表达
function check(exp,v,i){
var str=''
str='<tr>'
str+='<td>'+exp+'</td><td>=</td><td><input type=text onblur="$(\'msg'+i+'\').innerHTML=(this.value=='+v+')?\'正确\':\'错误\'"></td><td><label id=msg'+i+'></label></td>'
str+='</tr>'
return str
}
function create(){
var str='<table>'
var i=1
while(i<=100){
var r=rand(1,8)
if(r==1){ //a+b+c
var a=rand(1000,8000)
var b=rand(1000,9000-a)
var c=rand(1000,10000-a-b)
str+=check(a+'+'+b+'+'+c,a+b+c,i)
}else if(r==2){ //a+b-c
var a=rand(1000,9000)
var b=rand(1000,10000-a)
var c=rand(1000,a+b)
str+=check(a+'+'+b+'-'+c,a+b-c,i)
}else if(r==3){ //a-b+c
var a=rand(1000,10000)
var b=rand(1000,a)
var c=rand(1000,10000-a+b)
str+=check(a+'-'+b+'+'+c,a-b+c,i)
}else if(r==4){ //a-b-c
var a=rand(3000,10000)
var b=rand(1000,a-1000)
var c=rand(1000,a-b)
str+=check(a+'-'+b+'-'+c,a-b-c,i)
}else if(r==5){ //x+(y+z)
var a=rand(1000,8000)
var b=rand(1000,9000-a)
var c=rand(1000,10000-a-b)
str+=check(a+'+('+b+'+'+c+')',a+b+c,i)
}else if(r==6){ //x+(y-z)
var a=rand(1000,9000)
var b=rand(1000,10000-a)
var c=rand(1000,a+b)
str+=check(a+'+('+b+'-'+c+')',a+b-c,i)
}else if(r==7){//x-(y+z)
var a=rand(3000,10000)
var b=rand(1000,a-1000)
var c=rand(1000,a-b)
str+=check(a+'-('+b+'+'+c+')',a-b-c,i)
}else if(r==8){//x-(y-z)
var a=rand(1000,10000)
var b=rand(1000,a)
var c=rand(1000,b)
str+=check(a+'-('+b+'-'+c+')',a-b+c,i)
}
i++
}
str+='</table>'
$('result').innerHTML=str
}
</script>
</body>
阅读(982) | 评论(0) | 转发(0) |
本来不想继续发这种简单程序了,因为大体都一样,不过今天发现这种文章好多人关注哦.就再发一个
运行结果

源代码:
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head><body>
<button onclick="create();this.style.display='none';">生成</button>
<div id="result">
</div>
<script language="javascript">
//定位页面元素
function $(id){
return document.getElementById(id)
}
//生成随机数,最大为t,最小为b
function rand(b,t){
return Math.round(Math.random()*(t-b))+b
}
//生成最后页面表达
function check(exp,v,i){
var str=''
str='<tr>'
str+='<td>'+exp+'</td><td>=</td><td><input type=text onblur="$(\'msg'+i+'\').innerHTML=(this.value=='+v+')?\'正确\':\'错误\'"></td><td><label id=msg'+i+'></label></td>'
str+='</tr>'
return str
}
function create(){
var str='<table>'
var i=1
while(i<=100){
var r=rand(1,8)
if(r==1){ //a+b+c
var a=rand(1000,8000)
var b=rand(1000,9000-a)
var c=rand(1000,10000-a-b)
str+=check(a+'+'+b+'+'+c,a+b+c,i)
}else if(r==2){ //a+b-c
var a=rand(1000,9000)
var b=rand(1000,10000-a)
var c=rand(1000,a+b)
str+=check(a+'+'+b+'-'+c,a+b-c,i)
}else if(r==3){ //a-b+c
var a=rand(1000,10000)
var b=rand(1000,a)
var c=rand(1000,10000-a+b)
str+=check(a+'-'+b+'+'+c,a-b+c,i)
}else if(r==4){ //a-b-c
var a=rand(3000,10000)
var b=rand(1000,a-1000)
var c=rand(1000,a-b)
str+=check(a+'-'+b+'-'+c,a-b-c,i)
}else if(r==5){ //x+(y+z)
var a=rand(1000,8000)
var b=rand(1000,9000-a)
var c=rand(1000,10000-a-b)
str+=check(a+'+('+b+'+'+c+')',a+b+c,i)
}else if(r==6){ //x+(y-z)
var a=rand(1000,9000)
var b=rand(1000,10000-a)
var c=rand(1000,a+b)
str+=check(a+'+('+b+'-'+c+')',a+b-c,i)
}else if(r==7){//x-(y+z)
var a=rand(3000,10000)
var b=rand(1000,a-1000)
var c=rand(1000,a-b)
str+=check(a+'-('+b+'+'+c+')',a-b-c,i)
}else if(r==8){//x-(y-z)
var a=rand(1000,10000)
var b=rand(1000,a)
var c=rand(1000,b)
str+=check(a+'-('+b+'-'+c+')',a-b+c,i)
}
i++
}
str+='</table>'
$('result').innerHTML=str
}
</script>
</body>
相关热门文章
给主人留下些什么吧!~~
评论热议