中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]判断输入数是否为素数,脚本错在哪?
作者:
标题: [已解决]判断输入数是否为素数,脚本错在哪? 上一主题 | 下一主题
jarry0932
初级用户





积分 128
发帖 122
注册 2009-9-21
状态 离线
『楼 主』:  [已解决]判断输入数是否为素数,脚本错在哪?

我写的一个判断输入的数是否为素数,如果输入的数不是素数可以正确显示“不是素数”,但如果输入一个素数,则返回的总是空值,不知道错在哪?请大侠指点迷津!!
代码如下:

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 ]

2010-3-26 20:01
查看资料  发送邮件  发短消息 网志  OICQ (274997087)  编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 2 楼』:  

你在脚本最开始加上这么一行再运行就很容易查出错误了:
Option Explicit




┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
2010-3-27 01:56
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 3 楼』:  

half=sqr(num)
比较好。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2010-3-27 19:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jarry0932
初级用户





积分 128
发帖 122
注册 2009-9-21
状态 离线
『第 4 楼』:  

我终于知道是哪里有问题了!!借鉴两位大侠的方法,然后发现原来是我粗心大意把half变量打成了haif。。。哎~~~~太不细心了。。。谢谢两位的指点啦

2010-3-28 11:35
查看资料  发送邮件  发短消息 网志  OICQ (274997087)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: