我正在编写一个找到百分位数的程序。根据 eHow:
开始计算你的考试分数的百分位数(作为一个例子,我们将坚持你的分数 87)。使用的公式是 L/N(100) = P,其中 L 是分数低于 87 的测试数,N 是测试分数的总数(这里是 150),P 是百分位数。计算小于 87 的测试分数的总数。我们假设这个数字是 113。这给了我们 L = 113 和 N = 150。
因此,根据说明,我写道:
string[] n = Interaction.InputBox("Enter the data set. The numbers do not have to be sorted.").Split(',');
List<Single> x = new List<Single> { };
foreach (string i in n)
{
x.Add(Single.Parse(i));
}
x.Sort();
List<double> lowerThan = new List<double> { };
Single score = Single.Parse(Interaction.InputBox("Enter the number."));
uint length = (uint)x.Count;
foreach (Single index in x)
{
if (index > score)
{
lowerThan.Add(index);
}
}
uint lowerThanCount = (uint)lowerThan.Count();
double percentile = lowerThanCount / length * 100;
MessageBox.Show("" + percentile);
然而程序总是返回 0 作为百分位数!我犯了什么错误?