如果算出 按照积分名次,倒序排列,赋值为16...1 ,在算出每个人的赋值分数,列出每个人所带班级跟上述一样,的平均积分。
程序代码:CLOSE DATABASES ALL
CREATE CURSOR zjfb (序号 c(12),姓名 c(8),班级数 n(5,0),班级名 c(30),总分 n(5,0),平均 n(7,2))
USE jfb IN 0
SELECT jfb
LOCAL azd[FCOUNT()-1]
FOR i=2 TO FCOUNT()
azd[i-1]=FIELD(i)
ENDFOR
DIMENSION azd[ALEN(azd,1)/2,2]
FOR i=1 TO ALEN(azd,1)
INDEX on &azd[i,2] TO xm
xm=""
nxh=1
SCAN
IF &azd[i,2]==xm
REPLACE 班级数 WITH 班级数+1,班级名 WITH 班级名-","-jfb.bj,总分 WITH 总分+EVALUATE("jfb."+azd[i,1]),平均 WITH 总分/班级数 IN zjfb
ELSE
INSERT INTO zjfb VALUES (azd[i,2]+TRANSFORM(nxh),EVALUATE("jfb."+azd[i,2]),1,jfb.bj,EVALUATE("jfb."+azd[i,1]),EVALUATE("jfb."+azd[i,1]))
nxh=nxh+1
ENDIF
xm=&azd[i,2]
ENDSCAN
ENDFOR
SELECT zjfb
BROWSE



