回 帖 发 新 帖 刷新版面

主题:各位大侠看看我的程序有什么缺点?么

表f091.dbf中的学号规律为为
年级--班级--号码
09  --01  --01
09  --01  --02
09  --02  --01

如何快速的求出每班的每学科前40名的学科平均分?并将其存放在09pingjun.dbf中
我的程序有点乱。

回复列表 (共4个回复)

沙发

你给的程序是编译后的。09pingjun是标准答案吗?
我的结果与你的不同:(怎么插入图片?)


应该是‘40名’的定义不同造成的:
如名次39的有3个人,或40的有2人等情况

板凳

你传了个FXP文件,让人怎么看啊

3 楼

*** 新建一个平均表PJ09.DBF

SET TALK OFF 
cXK="语文数学外语物理化学生物政治历史地理"
FOR I=1 TO 16
  BH=CHRTRAN("09"+STR(I,2)," ","0")
  INSERT INTO PJ09(班号) value(BH)
  FOR J=1 TO 9
    XK=SUBSTR(cXK,(J-1)*4+1,4)
    SELECT TOP 40 &XK FROM f091 ORDER BY &XK WHERE 学号=BH INTO CURSOR TMP
    AVERAGE &XK TO ARRAY PJF
    REPLACE &XK WITH PJF IN PJ09
  NEXT 
NEXT

4 楼

PJ09.DBF的字段有:语文、数学、外语、物理、化学、生物、政治、历史、地理、班号

我来回复

您尚未登录,请登录后再回复。点此登录或注册