ASP产生一个随机数不难。就两条特定语句:

<%
Randomize
x=int(20*rnd+1)
%>

以上的两条语句。表示从1~20这个范围内产生随机数,而且这些随机数都是整数。

那么,要在1~20连续产生20个不同的随机数。也就是随机排列1~20。该怎么解决呢?

首先,我们须要数组来存储这20个不同的随机数。

ASP能够用例如以下的两种方式定义一个容量为20数组:

<%
dim number(20)
%>
<%
dim number
redim number(20)
%>

当中。第二组后接number= Session("xx") 能接住前一页面通过Session("xx")=number。传递过来的number数组。

要在1~20连续产生20个不同的随机数,也就是随机排列1~20的基本思想是:

首先在1~20产生一个随机数X。然后对这个之前产生的数据进行遍历。推断是否存在有数等于这个新产生的随机数的,假设有,立flag,

然后对之前的数据遍历完成之后,推断flag是否立起来。

假设是。就不加入这个随机数进数组。又一次产生随机数并收起flag,再又一次遍历已有的数据中是否已有这个随机数,

假设否。就加入,直到20个数据产生完成。

最后输出这个20个数据

详细实现的代码例如以下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
'禁止缓存'
Response.CacheControl="no-cache"
Response.Expires=-1
Response.Charset="UTF-8" '配合第一行设定网页编码' '核心代码'
dim RandomArray(20) '定义一个长20的一位数组'
i=0
do while i<UBound(RandomArray,1)
Randomize
x=int(20*rnd+1)
flag=true
For j=0 To UBound(RandomArray,1)
if RandomArray(j)=x then
flag=false
exit for
end if
next
if flag=true then
RandomArray(i)=x
i=i+1
end if
loop '输出数组'
For i=0 To UBound(RandomArray,1)
Response.Write RandomArray(i)&","
Next %>

执行结果例如以下:

能够发现,每次刷新这个页面,此20个数据都是不同的。

【ASP】在特定的范围内产生N个不同的随机数的更多相关文章

  1. ASP,ASP.net,JSP语法、内置对象对比

    1 各自的HelloWord版本 1.1 ASP <%  Response.Write("hello asp") %> 文件名为test.asp. 1.2 ASP.ne ...

  2. Asp.Net Core MVC框架内置过滤器

    第一部分.MVC框架内置过滤器 下图展示了Asp.Net Core MVC框架默认实现的过滤器的执行顺序: Authorization Filters:身份验证过滤器,处在整个过滤器通道的最顶层.对应 ...

  3. asp.net 修改/删除站内目录操作后会导致Session丢失

    http://www.jb51.net/article/21770.htm http://blog.chinaunix.net/uid-7425507-id-134216.html 在Web项目中使用 ...

  4. ASP.NET CORE中控制器内return HTML 内容自动编码问题

    以前ASP.NET MVC中在控制器中直接 return Content( "<h1>测试测试</h1>"); 在前台VIEW上就显示加粗的文字了,但是在A ...

  5. Asp.net实现同页面内多图片自动上传并带预览显示

    FileUpload控件实现单按钮图片自动上传并带预览显示 1.实现原理: 此方法适合针对有后台生成的图片相关内容,例如购物网站商品展示页面中的封面图片,图片的数量由后台访问数据库,并加载到页面.这种 ...

  6. ASP.NET MVC之如何看待内置配置来提高性能优化(四)

    前言 前几篇我们比较基础的讲了下MVC中的知识,这一节我们穿插点知识,讲讲MVC中我们可以提高性能的办法. Razor视图引擎优化(优化一) 我们知道默认情况下配置MVC去解析一个视图会首先约定通过查 ...

  7. js 实现控制点击事件在特定的毫秒内 只允许点击一次(防止重复点击)

    代码 第一种方法 var forbidRepeartClick = (function(){ var instance = null; var canClick = true; function Bu ...

  8. asp.net 实现搜索站内搜索功能

    首先有index和search 两个页面 index页面中有textbox1和button1两个控件 双击button1控件添加代码: protected void Button1_Click(obj ...

  9. 给定范围内产生N个不同的随机数

    void RandNumbs(int nLimts, int result[], int n)//给定范围内产生n个不同随机数(1-nLimts),并存储到result中 { int nNum = 0 ...

随机推荐

  1. Comparable与Comparator源码分析

    package java.lang; import java.util.*; /** * This interface imposes a total ordering on the objects ...

  2. [codeforces contest 1119 F] Niyaz and Small Degrees 解题报告 (树形DP+堆)

    interlinkage: http://codeforces.com/contest/1119/problem/F description: 有一颗$n$个节点的树,每条边有一个边权 对于一个$x$ ...

  3. Tomcat安全设置与优化详解(非原创)

    一.Tomcat简介二.Tomcat安全设置三.Tomcat优化四.参考文章   一.Tomcat简介 Tomcat 是 Apache软件基金会下的一个免费.开源的WEB应用服务器,它可以运行在 Li ...

  4. Codeforces 680D Bear and Tower of Cubes 贪心 DFS

    链接 Codeforces 680D Bear and Tower of Cubes 题意 求一个不超过 \(m\) 的最大体积 \(X\), 每次选一个最大的 \(x\) 使得 \(x^3\) 不超 ...

  5. zgb老师关于java集合的总结

    数组:存多个数据 操作不便集合(Collection ):存多个数据 管理多个数据 提供更为方便的操作Iterator:专门针对集合 进行迭代List:有序的 允许重复的元素ArrayList:底层数 ...

  6. 2.TinkPHP入门----控制器

    1.控制器创建 命名规则:控制器名称+Controller+.class.php, 例如GoodsController.class.php  UserController.class.php 控制器结 ...

  7. C# 线程知识汇总

    一.基本概念 进程(process)是windows系统中你的一个基本概念,它包含着一个运行程序所需要的资源.一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或者多个线程.线程是操作 ...

  8. 5个对话框和FileStream:文件流

    1.private void button1_Click(object sender, EventArgs e) { colorDialog1.ShowDialog();//显示颜色选择器 panel ...

  9. NagiosQL安装

        NagiosQL和Nconf是比较好用的Nagios配置工具. 一.安装NagiosQL 1.在服务器终端运行以下命令: ##YUM安装PHP模块yum -y install --disabl ...

  10. bzoj 3730: 震波 动态点分治_树链剖分_线段树

    ##### 题目描述 : 在一片土地上有N个城市,通过N-1条无向边互相连接,形成一棵树的结构,相邻两个城市的距离为1,其中第i个城市的价值为value[i].不幸的是,这片土地常常发生地震,并且随着 ...