0
//I have a list of students List<Student>  
Students  
{  
     lond StudentId;  
     double Marks;  
     int Rank;  
    double Percentile;  
}  

我提供了 ID 和标记,需要计算排名和百分位数。我搜索了计算百分位数的方法,但它们以不同的格式提供答案,例如 - 如何计算第 95 个百分位数或第 5 个百分位数。

但我需要计算的是每个学生的排名和特别百分位数,而不是特定的百分位数持有者。
thnx提前...

4

1 回答 1

3

好的,所以您需要首先按标记对所有学生进行排名/排序,以便最好的成绩是列表中的第一个。然后你可以通过计数来明显地填充排名。

对于你采取的百分位数(TotalNumberOfStudents - Rank of Student) / (TotalNumberOfStudents - 1)

所以换句话说,如果你是排名第一的学生,你比其他学生的 100% 好,如果你在 100 名学生中排名第 50,那么你比 50% 的学生好。

现在的一个问题是,如果学生可以有相同的确切成绩,那么他们不需要计入公式的分母,因为这代表了比你差的学生数量。

于 2011-07-30T11:48:55.523 回答