Asp如何实现去掉三个最高分和三个最低分
发布时间:2023-09-14 08:38:20 所属栏目:Asp教程 来源:
导读:用asp如何实现去掉三个最高分和三个最低分?
解决思路:
1、将整个数组排序,删除两端的三个最大值和三个最小值(另一网友提出的!)
2、挑选出其中三个最大的数和三个最小的数,将其删除!(我的思路!)
解决思路:
1、将整个数组排序,删除两端的三个最大值和三个最小值(另一网友提出的!)
2、挑选出其中三个最大的数和三个最小的数,将其删除!(我的思路!)
用asp如何实现去掉三个最高分和三个最低分? 解决思路: 1、将整个数组排序,删除两端的三个最大值和三个最小值(另一网友提出的!) 2、挑选出其中三个最大的数和三个最小的数,将其删除!(我的思路!) 我觉得我的方法应该可行一些,因为要删除的数只有三个最大,三个最小,没有必要把所有的数都进行排序,特别是当数据很多时,将会浪费很多的资源!我写的序如下: 以下为引用的内容: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% dim Arr Arr=array(91,39,46,24,14,56,31,32,56,89) call DeleteMax(UBound(Arr),3)’删除三个最大的数! call GetBack()’每个数称以-1,将最小的数变成最大的数! call DeleteMax(UBound(Arr),3)’删除称以-1以后三个最大的数! call GetBack()’还原每一个数 for kk= 0 to UBound(Arr)’输出每一个数 Response.Write(Arr(kk)) Response.Write("<br>") next sub DeleteMax(Arr_total,willdelete) for m= 1 to willdelete for i= 0 to Arr_total-m if Arr(i)>Arr(i 1) then call swap(Arr(i),Arr(i 1)) end if next ReDim Preserve Arr(Arr_total-m) next end sub sub swap(num_a,num_b)’交换两个数 x=num_a num_a=num_b num_b=x end sub sub GetBack() for L=0 to UBound(Arr) Arr(L)=Arr(L)*-1 next end sub %> 其中有三个子程序: 1、DeleteMax(Arr_total,willdelete) 功能:删除若干个最大的数,Arr_total:数组的最大可用下标,willdelete:将要删除的最大数的个数。 2、swap(num_a,num_b) 功能:交换两个数 3、GetBack() 功能:将数组的每个元素乘以-1,将最小的数变成最大的数! 巧妙应用redim和Preserve语句,如: 以下为引用的内容: dim A() redim A(10) ’想删除第六个元素A(5) for n= 5 to ubound(A)-1 A(n)=A(n 1) next redim Preserve A(ubound(A)-1) 以上的代码,就能够完成了,不信你试试... (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐