当前位置: 代码迷 >> ASP >> asp中随机函数如何写和怎样操作字符数组
  详细解决方案

asp中随机函数如何写和怎样操作字符数组

热度:169   发布时间:2012-05-01 12:48:58.0
asp中随机函数怎么写和怎样操作字符数组?
asp中随机函数怎么写和怎样操作字符数组?

谢谢。

------解决方案--------------------
假如每个学生100个题,首先生成随机数,这个随机数是数据表值的ID值,然后循环100次,排出显示就可以了。
<%
dim a(1 to 100)
y=o
for x=1 to 100
Randomize
a(x)=int(100*rnd+1)
next
do while not rs.eof
y=y+1
if rs("ID")=a(y) then
%>
<tr><td><%=y%></td>(题号)
<td><%=rs("题目")%></td></tr>(题目)
<%
end if
rs.movenext
loop
%>
其他的不用在说了
如果有重复题怎么办?下面程序可以解决:
<%
for i=1 to 99
for j=1 to 100-i
if a(j)=a(j+1) then
Randomize
a(j+1)=int(100*rnd+1)
end if
next
next
%>


数组:
Public Function ary(str) 
Dim a() 
Dim b() 
Dim lenstr 字符串长 
Dim i, j 循环变量 
Dim ouflag 
lenstr = Len(str) 
If lenstr Mod 2 = 1 Then 
长度为奇 
ouflag = False 
lenstr = lenstr + 1 
ReDim a(2, lenstr / 2) 
a(2, lenstr / 2) = Chr(20) 最后一个补空格 
Else 
长度为偶 
ReDim a(2, lenstr / 2) 
ouflag = True 
End If 
ReDim b(lenstr / 2, 2) 
For i = 1 To lenstr 
If i <= lenstr / 2 Then 
a(1, i) = Mid(str, i, 1) 
Else 
If ouflag = True Then 
a(2, i - lenstr / 2) = Mid(str, i, 1) 
Else 
If i <> lenstr Then 
a(2, i - lenstr / 2) = Mid(str, i, 1) 
End If 
End If 
End If 
Next 
For i = 1 To 2 
For j = 1 To lenstr / 2 
b(j, i) = a(i, j) 
Next 
Next 
For j = 1 To lenstr / 2 
For i = 1 To 2 
ary = ary & b(j, i) 
Next 
Next 
If ouflag = False Then 
ary = Left(ary, lenstr - 1) 
End If 
End Function 
Public Function unary(str) 
Dim a() 
Dim b() 
Dim lenstr 字符串长 
Dim i, j 循环变量 
Dim ouflag 
lenstr = Len(str) 
If lenstr Mod 2 = 1 Then 
长度为奇 
ouflag = False 
lenstr = lenstr + 1 
ReDim a(lenstr / 2, 2) 
a(lenstr / 2, 2) = Chr(20) 最后一个补空格 
Else 
长度为偶 
ReDim a(lenstr / 2, 2) 
ouflag = True 
End If 
ReDim b(2, lenstr / 2) 
For i = 1 To lenstr 
If i = lenstr And ouflag = False Then 
a(lenstr / 2, 2) = " " 
Else 
If i Mod 2 = 1 Then 
a((i + 1) / 2, 1) = Mid(str, i, 1) 
Else 
a(i / 2, 2) = Mid(str, i, 1) 
End If 
End If 
Next 
For i = 1 To 2 
For j = 1 To lenstr / 2 
b(i, j) = a(j, i) 
Next 
Next 
For i = 1 To 2 
For j = 1 To lenstr / 2 
unary = unary & b(i, j) 
Next 
Next 
If ouflag = flag Then 
unary = Left(unary, lenstr - 1) 
End If 
End Function 

用了你就知道用处了: 
dim strg 
strg="123456789" 
strg=ary(strg) 


unary是解密 

 
  相关解决方案