我需要一个小程序:
然后根据数字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;
}
想知道我可以采取哪些保护措施来打破这个程序? 我可以在这里做任何保护吗?
答案 0 :(得分:2)
这与数学相关,更适合Mathematics论坛。但是,由于线程已经存在,我将为您省去麻烦。
要找到任何事物的百分位,只需考虑以下因素:
如果你从200名学生中排名第25,那么你的表现要好于其中的175名。为了找到你的百分位数,你可以将你做得更好的学生数量除以学生总数。
例如:
1. 200 - 25 = 175
2. 175 / 200 = 87.5 = 88th Percentile
这是一种非常简单的方法来找到百分位数 - 它很容易理解并且始终有效。我希望这会对你有所帮助。