如何用ASp实现去掉三个最高分和三个最低分

今天又帮助了一个网友,我的口号是"以帮助别人为快乐!"

问题:用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)以上的代码,就能够完成了,不信你试试...

时间: 2024-10-01 00:18:05

如何用ASp实现去掉三个最高分和三个最低分的相关文章

如何用ASP编写网站统计系统?(三)

统计  设计表结构是一项极其重要的工作,它的合理与否与程序的编制紧密相关. 一个网站统计系统应该有一个用户表,统计值表. 这个用户表也就是保留注册用户信息的表,统计值表就是记录用户的每一项统计指标值的表.在统计值的表中我们可以指定用户的统计指标,我们可把每一个指标用一个ID值来表示,这里我们简单举例.用户表:Table Name:regist_table Field     type  username     C   用户名password     C   密码regdate      C  

软件开发-我这代码的computer的最高分和最低分老不对,怎么办?

问题描述 我这代码的computer的最高分和最低分老不对,怎么办? #include<stdio.h> #include<stdlib.h> #include<string.h> #define maxsize 5 struct student { int num; char name[30]; int english,computer,math,chinese; int rank; }; double aen,aco,ama,ach;int maxch,maxma,

sql 查询最高分、最低分和平均分语句

sql 查询最高分.最低分和平均分语句 //我们要用就以学生成绩为实例吧 /* 结构 学生表 Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号 */ 查询各科成绩最高分.最低分和平均分:以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率 --及格为>

如何用ASP编写网站统计系统(三) (转自gaoshan)

统计 如何用ASP编写网站统计系统(三) 设计表结构是一项极其重要的工作,它的合理与否与程序的编制紧密相关. 一个网站统计系统应该有一个用户表,统计值表. 这个用户表也就是保留注册用户信息的表,统计值表就是记录用户的每一项统计指标值的表.在统计值的表中我们可以指定用户的统计指标,我们可把每一个指标用一个ID值来表示,这里我们简单举例. 用户表: Table Name:regist_table Field type username C 用户名 password C 密码 regdate C 注册

asp.net程序中最常用的三十三种编程代码

asp.net|编程|程序 asp.net程序中最常用的三十三种编程代码,为初学者多多积累经验,为高手们归纳总结,看了觉得很有价值~,大家不妨参考下!  1. 打开新的窗口并传送参数:   传送参数:  response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>") 

Excel里去掉最高分最低分再求平均分

求平均分是Excel里再平常不过的操作了.使用EXCEL,不仅可以求简单的平均分,即使要去掉几个最高分.最低分再求平均分,那也是很容易的事情. 一.直接求平均分 如果要对指定的数据直接求平均分,那显然是最简单的.如图1所示,假定要求平均分的数据在B2:B20单元格,那么我们只要在B21单元格输入公式:=AVERAGE(B2:B20),回车后平均分就有了. 图1 平均分的数据 二.去掉指定分数再求平均分 有两种方法可以实现这个要求. 以去掉一个最高分和一个最低分之后再求平均分为例. 我们可以在B2

如何用asp.net,C#语言实现一个时间范围的查询?

问题描述 如何用asp.net,C#语言实现一个时间范围的查询?SQL的datetitm类型与asp.net的DateTime类型比较老提示转换错误 解决方案 解决方案二:谁知道你怎样"转换"的啊?解决方案三:就是先定义DateTime类型的ksrq和jsrq,然后这样:wherestr.AppendFormat("andtsrqbetween'"+ksrq+"'and'"+jsrq+"'");一直提示转换错误解决方案四:然后

通过支付宝个人转账后台进行的转账,如何用asp.net查询出是否转账成功的记录

问题描述 通过支付宝个人转账后台进行的转账,如何用asp.net查询出是否转账成功的记录https://shenghuo.alipay.com/send/payment/fill.htm我想都想知道这个问题吧?现在有这样的功能,php做的比较多,.net我网上搜索了很长时间都没见有.能否给给思路,或者案例? 解决方案 解决方案二:支付宝是有demo的,如果成功的话会返回到一个特定的页面,你可以在LOAD事件里面写.具体的东西去找找API.解决方案三:支付宝只有及时到帐的吧,以前个人可以申请,现在

如何去掉asp.net 去掉checkboxlist中的方框

问题描述 如何去掉asp.net去掉checkboxlist中的方框 解决方案 解决方案二:那就是一组inputtype=checkbox如果没有checkbox那还叫checkboxlist么解决方案三:那能不能屏蔽掉啊解决方案四:引用1楼xiahouwen的回复: 那就是一组inputtype=checkbox如果没有checkbox那还叫checkboxlist么 UP,不知者不为过!解决方案五:checkboxlist可以将其Enabled设置为false,但不能将其方框屏蔽掉,到底想实