这里可以用生成随机数取余的方法得到,
比如任何整数除以100取余,那得到的是0~99的数,
那怎么得到10~99呢?
任何整数除以90取余,那得到的是0~89的数,再加上10,也就是得到10~99的数了
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main( void )
{
int i,k
srand( (unsigned)time( NULL ) )
for( i = 0i <10i++ )
{
k=rand()%90+10//这就OK了
printf( " k=%d\n", k )
}
}
使用随机数函数 Randomize或者Rnd 实现
源代码如下:
Dim min,n1,n2 //定义两个变量为
Randomize n1 = Int(90 * Rnd+10)
n2 = Int(90 * Rnd+10)
if n1 > n2 then
min = n2
else
min = n1
end if
msgbox "第一个数是:" & n1 & " 第二个数是:" & n2 & " 最小的数是:" & min
运行代码效果如下:
实现随机产生四个三位数如上代码,只需要再定义两个变量n3,n4。
源代码如下
Dim max,n1,n2,n3,n4,arr
Randomize
n1 = Int(900 * Rnd+100)
n2 = Int(900 * Rnd+100)
n3 = Int(900 * Rnd+100)
n4 = Int(900 * Rnd+100)
arr = Array(n1,n2,n3,n4)
max = n1
for each x in arr
if max < x then max = x
next
msgbox"n1:" & n1 & " n2:" & n2 & " n3:" & n3 & " n4:" & n4 & " 最大的数是:" & max
效果如下:
扩展资料:
rand函数的由来
srand((unsigned)time(NULL))则使用系统定时/计数器的值作为随机种子。每个种子对应一组根据算法预先生成的随机数,所以,在相同的平台环境下,不同时间产生的随机数会是不同的,相应的,若将srand(unsigned)time(NULL)改为srand(TP)(TP为任一常量),则无论何时运行、运行多少次得到的“随机数”都会是一组固定的序列,因此srand生成的随机数是伪随机数。
参考资料来源:百度百科-rand函数
1、大写字母对应的ASCII码的范围是65~89,因此随机生成65~89之间的数字,生成对应的大写字母即可;
2、打开VB6.0,新建一个标准exe工程,界面上新建一个按钮和一个文本框;
3、按钮代码如下:
Private Sub Command1_Click()
Text1.Text = ""
Dim n As Integer
Randomize
n = Int(Rnd * 25) + 65
Text1.Text = Chr(n)
End Sub
4、运行工程,生成随机的大写字母;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)