1

次のような小さなプログラムが必要です。

  1. 自然数nを読む
  2. n 実数 r0,r1,r2,...,rn を読み取ります
  3. 次に、別の実数 x を読み取ります

次に、数値 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 言語を少し知っているので、誰かがパーセンタイルの計算方法を説明してくれれば、一人で書くことができます ;o

ウィキペディアのパーセンタイルに関するPS

統計では、パーセンタイル (またはセンタイル) は、観測値の特定の割合がそれを下回る変数の値です。たとえば、20 パーセンタイルは、観測値の 20% が検出される可能性がある値 (またはスコア) です。25 パーセンタイルは第 1 四分位 (Q1)、50 パーセンタイルは中央値または第 2 四分位 (Q2)、75 パーセンタイルは第 3 四分位 (Q3) としても知られています。

編集:すべてうまくいきます(私は思います)が、もう1つ質問があります:私のコードは

#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;
}

そして、そのプログラムを壊さないようにするにはどうすればよいか知りたいですか? ここで私ができる保護はありますか?

4

1 に答える 1

2

これはより数学に関連しており、Mathematicsフォーラムに適しています。ただし、スレッドは既にここにあるので、問題は解決します。

何かのパーセンタイルを見つけるには、次のことを考慮してください。

200 人のクラスで 25 位だった場合、175 人よりも成績が良かったことになります。パーセンタイルを見つけるには、自分よりも成績が良かった生徒の数を生徒の総数で割ります。

例えば:

1. 200 - 25 = 175

2. 175 / 200 = 87.5 = 88th Percentile

これは、パーセンタイルを見つけるための非常に単純化された方法です。理解しやすく、常に機能します。これがお役に立てば幸いです。

于 2012-05-21T23:11:02.093 に答える