| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 754 人关注过本帖
标题:学生昨天所有参加学科的成绩在自己以前该学科成绩里的排名
只看楼主 加入收藏
a1999zqw
Rank: 1
等 级:新手上路
帖 子:186
专家分:0
注 册:2009-4-3
结帖率:78.95%
收藏
已结贴  问题点数:3 回复次数:2 
学生昨天所有参加学科的成绩在自己以前该学科成绩里的排名
先解释一下字段含义
学号 :学生学号,随着新学生的加入而增加
学科min : 学生参加学科的最小编号,学生参加学科的编号必须是连续的,如123,2345,01,
学科max : 学生参加学科的最大编号,学生参加学科的编号必须是连续的,如123,2345,01,
学科门数 :学科总门数,学科门数=学科max-学科min+1,
学科编号 :具体某个学科,学科min<=学科编号<=学科max,
成绩 : 某个学科的成绩
tf : 是否参加成绩排名
a0~a160 : 昨天的某个学科的成绩,手工录入,a后面的数字就是学科编号

cj.dbf 是存放学生第一次到前天为止全部学科的以前成绩,相同的学科相同的成绩只记录一次

求参加成绩排名学生昨天所有参加学科的成绩在自己以前该学科成绩里的排名,
例如某学科以前成绩有 1,5,7,6,12,26,24,那么如果该学科昨天成绩
若是1则排名是7;
若是2则排名是7;
若是5则排名是6;
若是6则排名是5;
若是24则排名是2;
若是25则排名是2;
若是26则排名是1;
若是27则排名是1;
若是28则排名是1;

我自己写了一段,感觉不理想,运行速度太慢了,有没有更好更快的方法?
? time(1)
sele 3
use xh
sele 9
use cj
sele 8
use pm
dele all
pack
for rr=2 to recc(3)
sele 3
go rr
if tf='是'
scat fiel 学号 to bh
scat fiel 学科门数 to len1
scat fiel 学科min to min1
scat fiel 学科max to max1
for ee=val(min1) to val(max1)
eec='a'+allt(str(ee))
sele 3
scat fiel &eec to b&eec
sele 9
sort on 成绩/d to tmp_ylb for 学号=bh.and.学科编号=ltri(str(ee))
sele 91
use tmp_ylb
loca  for 成绩<=b&eec
paiming=recn()
use
sele 8
appe blan
repl 学号 with bh,学科min with min1,学科max with max1,学科编号 with ltri(str(ee)),成绩 with b&eec,排名 with paiming
endf
endi
endf
inde on 排名 to tmp1
? time(1)
brow
ttt.rar (88.3 KB)
搜索更多相关主题的帖子: 参加 排名 学生 学科 
2009-10-14 14:38
hgfeng1984
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:139
专家分:513
注 册:2006-3-26
收藏
得分:2 
http://bbs.

楼主,我已经在那回答你了.
2009-10-14 19:22
a1999zqw
Rank: 1
等 级:新手上路
帖 子:186
专家分:0
注 册:2009-4-3
收藏
得分:0 
可是不对哦
2009-10-14 22:18
快速回复:学生昨天所有参加学科的成绩在自己以前该学科成绩里的排名
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012492 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved