计算百分位数

时间:2012-05-21 22:54:16

标签: c

我需要一个小程序:

  1. 读取自然数n
  2. 然后读取n个实数r0,r1,r2,...,rn
  3. 然后读取另一个实数x
  4. 然后根据数字r0,r1,r2,...,rn打印出百分位数x的大小

        #include<stdio.h>
    
    
    int main(){
    
    int n, i=0;
    double r[1000], x;
    
    printf("Enter how many numbers\n");
    scanf("%i", &n);
    
    printf("Enter numbers\n");
    while(i<n){
        scanf("%lf", &r[i]);
        i++;
        }
    
    printf("Enter x:\n");
    scanf("%lf", &x);
    // need part here
    // where percentiles are calculated
    
    }
    

    所以这是我的问题,我怎么能计算百分位? 我已经阅读了很多关于百分位数的内容,但我仍然不明白,所以也许有人会向我解释我需要做什么,或者只是告诉我一个如何计算百分位数的模式。 我知道C语言有点所以我可以单独写,如果some1向我解释我如何计算百分位数; o

    P.S。关于来自维基百科的百分位数

    在统计学中,百分位数(或百分位数)是变量的值,低于该值  一定比例的观察结果下降。例如,第20百分位数是下面的值(或分数) 可以找到20%的观察结果。 第25个百分位数也称为第一个四分位数(Q1),第50个百分位数称为中位数或第二个四分位数(Q2),第75个百分位数称为第三个四分位数(Q3)。

    编辑:好的,一切正常(我想),但我还有一个问题: 我的代码看起来是

    #include<stdio.h>
    
    void sortowanie( double r[1000], int n){
        int i,j;
        double temp;
        for(i=0; i<n; i++)
            for(j=0;j<n-1; j++){
                if (r[j]>r[j+1]){
                    temp=r[j+1];
                    r[j+1]=r[j];
                    r[j]=temp;
                    }
    
                }
    }
    
    int centyl(double x, int n){
    int temp, wynik;
    temp=n-x;
    wynik=100*temp/n;
    return wynik;
    
    }
    
    
    int main(){
    
    int n, i=0;
    double r[1000], x;
    
    printf("Enter how many numbers\n");
    scanf("%i", &n);
    
    printf("Enter numbers\n");
    while(i<n){
        scanf("%lf", &r[i]);
        i++;
        }
    
    printf("Enter x:\n");
    scanf("%lf", &x);
    
    sortowanie(r, n);
    
    printf("Centyl to %i\n", centyl(x, n) );
    
    return 0;
    }
    

    想知道我可以采取哪些保护措施来打破这个程序? 我可以在这里做任何保护吗?

1 个答案:

答案 0 :(得分:2)

这与数学相关,更适合Mathematics论坛。但是,由于线程已经存在,我将为您省去麻烦。

要找到任何事物的百分位,只需考虑以下因素:

如果你从200名学生中排名第25,那么你的表现要好于其中的175名。为了找到你的百分位数,你可以将你做得更好的学生数量除以学生总数。

例如:

1. 200 - 25 = 175

2. 175 / 200 = 87.5 = 88th Percentile

这是一种非常简单的方法来找到百分位数 - 它很容易理解并且始终有效。我希望这会对你有所帮助。