注册 登录
编程论坛 新人交流区

求助 怎样编一个产生10个不同的数字小程序啊

网络小子 发布于 2007-09-29 14:51, 1062 次点击
randomize
for i =1 to 10
a(i)=int(rnd*10)
print a(i)
出来的数有的相同,怎样才能出来10个不同的数字啊
谢谢了
16 回复
#2
purana2007-09-29 14:53
rnd只是伪随机数,是会有重复的。
如果想得到不重复的数,
那就要产生了一个随机数之后,与之前所产生的随机数比较,如果发现相同的,则重新得到随机数。
#3
网络小子2007-09-29 14:57
偶知道啊麻烦你把代码写下偶不会啊
#4
purana2007-09-29 15:25
现在应该没有重复了吧。
[CODE]Private Sub Command1_Click()
Cls
Randomize
Dim i As Integer, j As Integer
Dim a(10) As Integer

For i = 0 To 9
start:
a(i) = Int(Rnd * 90)
For j = 0 To i - 1
If a(j) = a(i) Then
GoTo start
End If
Next
Next

For i = 0 To 9
Print a(i)
Next
End Sub[/CODE]
#5
yunqongyao2007-09-29 15:53

呵呵对呀
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim a(10) As Integer
For i = 0 To 9
a(i) = Int(Rnd * 90)
For j = 0 To i - 1
If a(j) = a(i) Then
GoTo start
End If
Next
Next
For i = 0 To 9
Print a(i)
Next
End Sub

#6
purana2007-09-29 16:00

楼上的。你的不对,
抄也应该要抄对吧。

#7
smofbao2007-09-29 16:57
你可以把产生随机数的种子做大点就行了
这是一个概率的问题

random(1000)
#8
fearmind2007-09-29 16:58
呵呵,原来是用VB写的啊
#9
chanli1032007-09-29 16:59
牛人呀,试一下就知道对错了..
#10
wangguan04112007-09-29 17:08
太简单了吧
#11
dengwen1652007-09-29 23:07
呵呵...goto语句我们还没教 刚教了循环  看得点懂
#12
hanxueyuma2007-10-04 10:59

#include"iostream.h"
#include <stdlib.h>
int main(void)
{
int i;
int j=10;
cout<<"0-100之间的随即数\n";
for(i=1; i<=j; i++)
cout<<rand() % 101<<' ';
return 0;
}

#13
网络小子2007-10-08 10:21
谢谢了我前几天有事没在
#14
lish2007-10-08 10:37
回复:(网络小子)偶知道啊麻烦你把代码写下偶不会啊...

新人 ,偶也需要这些

#15
xiaoxiao3212007-10-08 11:22
就是啊!!呵呵!!
#16
copu12007-10-08 12:06

if(发帖数目<10)只能在新手区留言发表;
else 随便留言

#17
manami2007-10-08 12:35
Private Sub Command1_Click()
Dim i As Integer, j As Integer //定义一个整形i,定义一个整形j
Dim a(10) As Integer
For i = 0 To 9
a(i) = Int(Rnd * 90) //产生随机的10个整数
For j= 0 To i - 1 //比较是否有相同的数,有的返回开始
If a(j) = a(i) Then
GoTo start
End If
Next
Next
For i = 0 To 9
Print a(i)
Next
End Sub
1