一场比赛的名次算法:序号     总分   第一场得分     第二场    第三场   第四场   .....1         7       1               3        2        1
 
2         10      2               3        2        3        3         10      1               2        3        4        4         10      2               2        4        2       -------------------------------------------------------
计分方法为倒计分,即得分越少名次越前;具体情况如下:序号为1的选手得了7分,他的名次为: 1
2,3,4三位选手都得了10分,这时系统需要为三个同分的选手算出名次,即2,3,4名。
算法是根据他们的小分来算的(即每场的得分)
第2位选手的各场得分是:  2 2 3 3 
第3位选手的各场得分是:  1 2 3 4 
第4位选手的各场得分是:  2 2 2 4这样的情况,第2位选手得第2名,因为他有最小的分1分
第3位选手得第3名,因为他有三个2分,
则第4位选手得第4名
在下不知如何处理的是:  相同总分的人不一定是三人,可能更多,场次也不一定是四场,或多或少。
两人相同是很好处理,但三人,或四人,或更多,要如何做出判断给选手计算出名次呢?  
忘各位大侠不吝赐教!!谢谢了。

解决方案 »

  1.   

    这个好像和dephi编程工具无关吧,纯粹一个算法问题。
    楼主关于小分计算名次部分描述好像有误:
    第2位选手的各场得分是:  2 2 3 3  
    第3位选手的各场得分是:  1 2 3 4  
    第4位选手的各场得分是:  2 2 2 4 
    //加入上面的数据描述是正确的,看下面的描述....
    这样的情况,第2位选手得第2名,因为他有最小的分1分 
    第3位选手得第3名,因为他有三个2分, 
    则第4位选手得第4名 
    //应该是 第3位选手得第2名,因为他有最小的分1分 
    //第4位选手得第3名,因为他有三个2分, 
    //则第2位选手得第4名 先确认是否我的纠正是正确的,再说算法问题...