2012-05-21 75 views
1

我需要一個小程序,其中:計算百分

  1. 讀取自然數n
  2. 然後讀取N實數R0,R1,R2,...,RN
  3. 然後再讀取實數X

然後打印x的大小百分相對於數字R0,R1,R2,...,RN

#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向我解釋我可以如何計算百分位數,我可以單獨寫;

P.S.關於百科的百分點

統計中,百分位(或百分位數)是一個變量的值,低於該值的某個百分比的觀測值會下降。例如,第20百分位數是低於 的值(或得分),其中可能找到20%的觀測值。 第25百分位也稱爲第一四分位數(Q1),第50百分位數爲中位數或第二四分位數(Q2),第75百分位數爲第三個四分位數(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; 
} 

,想知道什麼樣的保護能做些什麼來不打破計劃? 我可以在這裏做任何保護嗎?

+2

這更關注數學部分,而不是編程部分。 Wiki和統計書籍是你在這個舞臺上最好的朋友。 – Makoto

+1

除非我誤解了這個問題(或者是一個百分位數),否則您需要計算 Corbin

+0

讓用戶傳入'n'的全部內容是讓你知道你的數組有多大。 –

回答

2

這是更多的數學相關和更適合於Mathematics論壇。但是,由於線程已經在這裏,我將爲您節省麻煩。

要找到任何東西的百分只是考慮以下幾點:

如果您來第25淘汰類200名學生,那麼你的表現都比175人。要找到您的百分比,您可以將您做得更好的學生數量除以學生總數。

例如:

1. 200 - 25 = 175 

2. 175/200 = 87.5 = 88th Percentile 

這是一個非常簡單的方式找到百分點 - 這是很容易理解和始終有效。我希望這可以幫助你。

+0

非常感謝:) –