| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 614 人关注过本帖
标题:请教大家一个VB的问题
只看楼主 加入收藏
sgydhc
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-3-25
收藏
 问题点数:0 回复次数:3 
请教大家一个VB的问题
这是一道在两次考试中都出现过的题:
 在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有一个文本框,名称 为Text1;还有两个命令按钮,名称分别为C1、C2,标题分别为"计算"、 "存盘",如图所示。并有一个函数过程 isprime可以在程序中直接调用, 其功能是判断参数 a 是否为素数,如果是素数,则返回 True,否则返回 False。 请编写适当的事件过程,使得在运行时,单击"计算"按钮,则找出小于 18000的最大的素数,并显示在Text1中;单击"存盘"按钮,则把 Text1 中的计算结果存入考生文件夹下的out5.txt文件中
  我是这样写的,为什么不能用啊?请大家帮帮忙
Prvaite sub c1-click()
dim i as long
dim MaxPr as long
for i = 18000 to 0 '找最大的素数
if isprime(i) then'找到,返回值并退出循环
MaxPr = i
exit for
next i
Text1.Text=MaxPr'赋值显示
end sub
Prvaite sub c2-click()
dim fr as new io.filewriter("out5.txt",file.create)
fr.write(Text1.Text)'把结果写到文本文件
end sub
搜索更多相关主题的帖子: 素数 VB 单击 按钮 
2006-03-25 15:09
kisskller
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-3-25
收藏
得分:0 
呵呵,有点意思,1800循环到0,为什么不用两分法做?你机器配制不错啊,呵呵
2006-03-25 18:50
djccit
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2005-12-26
收藏
得分:0 

Private Sub C1_Click()
Dim i As Long
Dim MaxPr As Long
For i = 18000 To 0 Step -1 '找最大的素数
If isprime(i) Then MaxPr = i: Exit For '找到,返回值并退出循环
Next i
Text1.Text = MaxPr '赋值显示
End Sub

Private Sub C2_Click()
Open "c:\ks\out5.txt" For Random As #1
Write #1, Text1.Text '把结果写到文本文件
Close #1
End Sub

Private Function isprime(a As Long) As Boolean
Dim i As Integer
For i = 2 To Sqr(a)
If a Mod i = 0 Then isprime = False: Exit Function
Next i
isprime = True
End Function


喜欢VB的朋友,可以到19430352这个群上去交流一下
2006-03-25 20:20
sgydhc
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-3-25
收藏
得分:0 
谢谢楼上的帮助,我是菜鸟,请问一下什么是两分法?

2006-03-25 20:34
快速回复:请教大家一个VB的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032028 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved