内容:
说明:
四分位的计算
示例代码:
// Day1_Quartiles.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
//by zhaocl
int main()
{
int n;
cin >> n;
vector<int> arr( n );
for( size_t i = 0; i < n; i++ )
{
cin >> arr[i];
}
sort( arr.begin(), arr.end() );
int N1 = 0, N2 = 0, N3 = 0;
int Q1 = 0, Q2 = 0, Q3 = 0;
if( n % 2 == 0 )
{
int m = n / 2;
if( m % 2 == 0 )
{
N1 = int((n + 1) * 0.25)-1;
Q1 = (arr[N1] + arr[N1 + 1]) / 2;
N2 = int((n + 1) * 0.5) - 1;
Q2 = (arr[N2] + arr[N2 + 1]) / 2;
N3 = int((n + 1) * 0.75) - 1;
Q3 = (arr[N3] + arr[N3 + 1]) / 2;
}
else
{
N1 = int((n + 1) * 0.25);
Q1 = arr[N1];
N2 = int((n + 1) * 0.5) - 1;
Q2 = (arr[N2] + arr[N2 + 1]) / 2;
N3 = int((n + 1) * 0.75) - 1;
Q3 = arr[N3];
}
}
else
{
N1 = int( ( n + 1 ) * 0.25 ) - 1;
Q1 = ( arr[N1] + arr[N1 + 1] ) / 2;
N2 = int( ( n + 1 ) * 0.5 ) - 1;
Q2 = arr[N2];
N3 = int( ( n + 1 ) * 0.75 ) - 1;
Q3 = ( arr[N3] + arr[N3 + 1] ) / 2;
}
printf( "%d\n", Q1 );
printf( "%d\n", Q2 );
printf( "%d\n", Q3 );
system( "pause" );
return 0;
}
知识点:
1、了解四分位的知识即可,其他都是一些逻辑计算