jsp随机四则运算的具体代码操作
本文主要介绍了随机的四则运算题目,这样就可以自动的生成随机的30个四则运算题目了。可以生成随机的四则运算题目给给小学生用,但是还是有问题,小学生啊!他们不知道负数,不知道小数。所以还要加入判定条件。具体代码如下:
switch
(Arr[n]){
case
"+"
:{
sum=a+b;
break
;
}
case
"-"
:{
sum=a-b;
while
(sum<0){
var
a = GetRandomNum(1,30);
var
b = GetRandomNum(1,30);
sum=a-b;
}
break
;
}
case
"*"
:{
sum=a*b;
break
;
}
case
"/"
:{
sum=a/b;
while
(hasDot(sum)){
var
a = GetRandomNum(1,100);
var
b = GetRandomNum(1,100);
sum=a/b;
}
break
;
}
这样负数和小数都没有了。
不过,小学生貌似会分数的运算。于是我又开始试试写分数的。
<body>
<button class=
"btn btn-success btn-sm"
type=
'button'
onclick=
"pl_f()"
>开始生成题目</button>
<span id=
"text_f"
></span>
<script>
function
GetRandomNum(Min,Max)
{
var
Range = Max - Min;
var
Rand = Math.random();
return
(Min + Math.round(Rand * Range));
}
function
max_num(x,y) {
var
t;
while
(y) {
t = x%y;
x = y;
y = t;
}
return
x;
}
function
fenshu(a,b,p) {
if
(p==1) {
if
(a>b) {
return
a+
"/"
+b;
}
else
if
(a<b){
return
a+
"/"
+b;
}
else
{
return
1;
}
}
else
{
var
x=a/p;
var
y=b/p;
if
(y==1){
return
x;
}
else
{
return
x+
"/"
+y;
}
}
}
function
pl_f() {
var
son_a = GetRandomNum(1,30);
var
par_b = GetRandomNum(1,30);
var
son_c = GetRandomNum(1,30);
var
par_d = GetRandomNum(1,30);
var
X=son_a+
"/"
+par_b;
var
Y=son_c+
"/"
+par_d;
document.write(
"第一个分数:"
+X+
"<br>"
);
document.write(
"第二个分数"
+Y+
"<br>"
);
max_x=max_num(son_a,par_b);
max_y=max_num(son_c,par_d);
document.write(
"第一个最大公约数"
+max_x+
"<br>"
);
document.write(
"第二个最大公约数"
+max_y+
"<br>"
);
var
N=fenshu(son_a,par_b,max_x);
var
M=fenshu(son_c,par_d,max_y);
document.write(
"第一个分数化简:"
+N+
"<br>"
);
document.write(
"第二个分数化简"
+M);
}
</script>
</body>
这个可以动态的生成两个分数,然后输出这个分数分子和分母的最大公约数。最后输出分子的最简式。
最后就是将分数放入整数一起了!
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns=
"http://www.w3.org/1999/xhtml"
>
<head>
<title>
new
document </title>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
>
<meta name=
"generator"
content=
"editplus"
/>
<meta name=
"author"
content=
""
/>
<meta name=
"keywords"
content=
""
/>
<meta name=
"description"
content=
""
/>
</head>
<body>
<button type=
'button'
onclick=
"play_all()"
>开始生成题目</button>
<span id=
"text"
></span>
</body>
<script>
function
GetRandomNum(Min,Max)
{
var
Range = Max - Min;
var
Rand = Math.random();
return
(Min + Math.round(Rand * Range));
}
function
max_num(x,y) {
var
t;
while
(y) {
t = x%y;
x = y;
y = t;
}
return
x;
}
function
fenshu(a,b,p) {
if
(p==1) {
if
(a>b) {
return
a+
"/"
+b;
}
else
if
(a<b){
return
a+
"/"
+b;
}
else
{
return
1;
}
}
else
{
var
x=a/p;
var
y=b/p;
if
(y==1){
return
x;
}
else
{
return
x+
"/"
+y;
}
}
}
function
f_count(a,b,c,d) {
var
Arr = [
"+"
,
"-"
,
"*"
,
"/"
];
var
n = GetRandomNum(0,3);
switch
(Arr[n]){
case
"+"
:{
var
sum_x=(a*d)+(b*c);
var
sum_y=b*d;
max_x=max_num(sum_x,sum_y);
max_y=max_num(sum_x,sum_y);
var
N=fenshu(sum_x,sum_y,max_x);
return
a+
"/"
+b+
"+"
+c+
"/"
+d+
"="
+N;
break
;
}
case
"-"
:{
var
sum_x=(a*d)-(b*c);
while
(sum_x<0) {
var
a = GetRandomNum(1,30);
var
b = GetRandomNum(1,30);
var
c = GetRandomNum(1,30);
var
d = GetRandomNum(1,30);
var
sum_x=(a*d)-(b*c);
}
var
sum_y=b*d;
max_x=max_num(sum_x,sum_y);
max_y=max_num(sum_x,sum_y);
var
N=fenshu(sum_x,sum_y,max_x);
return
a+
"/"
+b+
"-"
+c+
"/"
+d+
"="
+N;
break
;
}
case
"*"
:{
var
sum_x=a*c;
var
sum_y=b*d;
max_x=max_num(sum_x,sum_y);
max_y=max_num(sum_x,sum_y);
var
N=fenshu(sum_x,sum_y,max_x);
return
a+
"/"
+b+
"*"
+c+
"/"
+d+
"="
+N;
break
;
}
case
"/"
:{
var
sum_x=a*d;
var
sum_y=b*c;
max_x=max_num(sum_x,sum_y);
max_y=max_num(sum_x,sum_y);
var
N=fenshu(sum_x,sum_y,max_x);
return
a+
"/"
+b+
"÷"
+c+
"/"
+d+
"="
+N;
break
;
}
}
}
function
count(a,b){
var
Arr = [
"+"
,
"-"
,
"*"
,
"/"
];
var
n = GetRandomNum(0,3);
switch
(Arr[n]){
case
"+"
:{
var
sum=a+b;
return
a+
"+"
+b+
"="
+sum;
break
;
}
case
"-"
:{
var
sum=a-b;
while
(sum<0){
var
a = GetRandomNum(1,30);
var
b = GetRandomNum(1,30);
var
sum=a-b;
}
return
a+
"-"
+b+
"="
+sum;
break
;
}
case
"*"
:{
var
sum=a*b;
return
a+
"*"
+b+
"="
+sum;
break
;
}
case
"/"
:{
var
sum=a/b;
while
(a%b!==0){
var
max_x=max_num(a,b);
var
N=fenshu(a,b,max_x);
return
a+
"÷"
+b+
"="
+N;
}
return
a+
"÷"
+b+
"="
+sum;
break
;
}
}
}
function
pl_f() {
var
son_a = GetRandomNum(1,30);
var
par_b = GetRandomNum(1,30);
var
son_c = GetRandomNum(1,30);
var
par_d = GetRandomNum(1,30);
var
suma=f_count(son_a,par_b,son_c,par_d);
return
suma;
}
function
pl() {
var
a = GetRandomNum(1,30);
var
b = GetRandomNum(1,30);
var
sumb=count(a,b);
return
sumb;
}
function
play_all() {
for
(i = 1; i <=30; i++) {
var
a = GetRandomNum(0,1);
document.getElementById(
"text"
).innerHTML+=(
"<br>"
+
"第"
+i+
"题:"
);
switch
(a) {
case
0:
var
A=pl();
document.getElementById(
"text"
).innerHTML+=(A);
break
;
case
1:
var
B=pl_f();
document.getElementById(
"text"
).innerHTML+=(B);
break
;
}
}
}
</script>
</html>
执行完节目就成这样的啦
最后上个答案和题目分开的版本!
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns=
"http://www.w3.org/1999/xhtml"
>
<head>
<title>
new
document </title>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
>
<meta name=
"generator"
content=
"editplus"
/>
<meta name=
"author"
content=
""
/>
<meta name=
"keywords"
content=
""
/>
<meta name=
"description"
content=
""
/>
</head>
<body>
<button type=
'button'
onclick=
"play_all()"
>开始生成题目</button>
<span id=
"text"
></span>
<span id=
"text2"
></span>
</body>
<script>
function
GetRandomNum(Min,Max)
{
var
Range = Max - Min;
var
Rand = Math.random();
return
(Min + Math.round(Rand * Range));
}
function
max_num(x,y) {
var
t;
while
(y) {
t = x%y;
x = y;
y = t;
}
return
x;
}
function
fenshu(a,b,p) {
if
(p==1) {
if
(a>b) {
return
a+
"/"
+b;
}
else
if
(a<b){
return
a+
"/"
+b;
}
else
{
return
1;
}
}
else
{
var
x=a/p;
var
y=b/p;
if
(y==1){
return
x;
}
else
{
return
x+
"/"
+y;
}
}
}
function
f_count(a,b,c,d) {
var
Arr = [
"+"
,
"-"
,
"*"
,
"/"
];
var
n = GetRandomNum(0,3);
switch
(Arr[n]){
case
"+"
:{
var
sum_x=(a*d)+(b*c);
var
sum_y=b*d;
max_x=max_num(sum_x,sum_y);
max_y=max_num(sum_x,sum_y);
var
N=fenshu(sum_x,sum_y,max_x);
return
a+
"/"
+b+
"+"
+c+
"/"
+d+
"="
+N;
break
;
}
case
"-"
:{
var
sum_x=(a*d)-(b*c);
while
(sum_x<0) {
var
a = GetRandomNum(1,30);
var
b = GetRandomNum(1,30);
var
c = GetRandomNum(1,30);
var
d = GetRandomNum(1,30);
var
sum_x=(a*d)-(b*c);
}
var
sum_y=b*d;
max_x=max_num(sum_x,sum_y);
max_y=max_num(sum_x,sum_y);
var
N=fenshu(sum_x,sum_y,max_x);
return
a+
"/"
+b+
"-"
+c+
"/"
+d+
"="
+N;
break
;
}
case
"*"
:{
var
sum_x=a*c;
var
sum_y=b*d;
max_x=max_num(sum_x,sum_y);
max_y=max_num(sum_x,sum_y);
var
N=fenshu(sum_x,sum_y,max_x);
return
a+
"/"
+b+
"*"
+c+
"/"
+d+
"="
+N;
break
;
}
case
"/"
:{
var
sum_x=a*d;
var
sum_y=b*c;
max_x=max_num(sum_x,sum_y);
max_y=max_num(sum_x,sum_y);
var
N=fenshu(sum_x,sum_y,max_x);
return
a+
"/"
+b+
"÷"
+c+
"/"
+d+
"="
+N;
break
;
}
}
}
function
count(a,b){
var
Arr = [
"+"
,
"-"
,
"*"
,
"/"
];
var
n = GetRandomNum(0,3);
switch
(Arr[n]){
case
"+"
:{
var
sum=a+b;
return
a+
"+"
+b+
"="
+sum;
break
;
}
case
"-"
:{
var
sum=a-b;
while
(sum<0){
var
a = GetRandomNum(1,30);
var
b = GetRandomNum(1,30);
var
sum=a-b;
}
return
a+
"-"
+b+
"="
+sum;
break
;
}
case
"*"
:{
var
sum=a*b;
return
a+
"*"
+b+
"="
+sum;
break
;
}
case
"/"
:{
var
sum=a/b;
while
(a%b!==0){
var
max_x=max_num(a,b);
var
N=fenshu(a,b,max_x);
return
a+
"÷"
+b+
"="
+N;
}
return
a+
"÷"
+b+
"="
+sum;
break
;
}
}
}
function
pl_f() {
var
son_a = GetRandomNum(1,30);
var
par_b = GetRandomNum(1,30);
var
son_c = GetRandomNum(1,30);
var
par_d = GetRandomNum(1,30);
var
suma=f_count(son_a,par_b,son_c,par_d);
return
suma;
}
function
pl() {
var
a = GetRandomNum(1,30);
var
b = GetRandomNum(1,30);
var
sumb=count(a,b);
return
sumb;
}
function
play_all() {
for
(i = 1; i <=30; i++) {
var
a = GetRandomNum(0,1);
document.getElementById(
"text"
).innerHTML+=(
"<br>"
+
"第"
+i+
"题:"
);
switch
(a) {
case
0:
var
A=pl();
var
strs = A.split(
"="
);
document.getElementById(
"text"
).innerHTML+=(strs[0]+
"="
+
"<br>"
);
document.getElementById(
"text2"
).innerHTML+=(
"<br>"
+
"第"
+i+
"题答案:"
+strs[1]);
break
;
case
1:
var
B=pl_f();
var
strs = B.split(
"="
);
document.getElementById(
"text"
).innerHTML+=(strs[0]+
"="
+
"<br>"
);
document.getElementById(
"text2"
).innerHTML+=(
"<br>"
+
"第"
+i+
"题答案:"
+strs[1]);
break
;
}
}
}
</script>
</html>
这篇jsp随机四则运算的具体代码操作内容朋友们都看明白了吗?爱站技术频道小编分享的这些内容希望能帮助大家,多关注我们网站,一定会让你意想不到的收获。
上一篇:jsp中的倒影效果怎么做
下一篇:jsp编程中的图片效果具体代码