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是解密