中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 15:08
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]判断输入数是否为素数,脚本错在哪? 查看 784 回复 3
楼 主 [已解决]判断输入数是否为素数,脚本错在哪? 发表于 2010-03-26 20:01 ·  中国 陕西 汉中 电信
初级用户
★★
积分 128
发帖 122
注册 2009-09-21 06:24
16年会员
UID 152378
性别 男
状态 离线
我写的一个判断输入的数是否为素数,如果输入的数不是素数可以正确显示“不是素数”,但如果输入一个素数,则返回的总是空值,不知道错在哪?请大侠指点迷津!!
代码如下:

dim scanf,p
scanf=inputbox("输入一个数:","判断输入的是不是素数")
p=only(scanf)
msgbox(p)

function only(num)
dim half,prf
num=int(num)
if num<1 then
only="输入无效"
exit function
end if
half=num\2
for a=2 to half
prf=num mod a
if prf=0 then
only="不是素数"
exit for
end if
if a=haif then only="是素数"
next
end function

[ Last edited by jarry0932 on 2010-3-28 at 11:36 ]
2 发表于 2010-03-27 01:56 ·  中国 北京 联通
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
你在脚本最开始加上这么一行再运行就很容易查出错误了:
Option Explicit
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
3 发表于 2010-03-27 19:35 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
half=sqr(num)
比较好。
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
4 发表于 2010-03-28 11:35 ·  中国 陕西 汉中 电信
初级用户
★★
积分 128
发帖 122
注册 2009-09-21 06:24
16年会员
UID 152378
性别 男
状态 离线
我终于知道是哪里有问题了!!借鉴两位大侠的方法,然后发现原来是我粗心大意把half变量打成了haif。。。哎~~~~太不细心了。。。谢谢两位的指点啦
论坛跳转: