C语言写一个两位的随机数程序

C语言写一个两位的随机数程序,第1张

两位数:也就是10~99了

这里可以用生成随机数取余的方法得到,

比如任何整数除以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、运行工程,生成随机的大写字母;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7749109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存