#include "stdio.h"
#include "time.h"
#include "stdlib.h"
#include "math.h"
#define NUM_OF_INT 30
#define MAX(x,y) x>y?1:0
//排序
void sort(int * data){
int i, j;
int temp_val;
for(i = 0; i < NUM_OF_INT; i++){
for(j = 0; j < NUM_OF_INT - i - 1; j++){
if(MAX(data[j],data[j + 1])){
temp_val = data[j];
data[j] = data[j + 1];
data[j + 1] = temp_val;
}
}
}
}
//平均值
float average(int * data){
int temp_val = 0;
for(int i = 0; i < NUM_OF_INT; i++){
temp_val += data[i];
}
return (float)temp_val / NUM_OF_INT;
}
//方差
float variance(int * data, float average){
double temp_val = 0;
for(int i = 0; i < NUM_OF_INT; i++){
temp_val += pow((data[i] - average), 2);
}
return (float)temp_val / NUM_OF_INT;
}
void main(){
int i;
int temp_val;
int data[NUM_OF_INT];
time_t t;
time(&t);
srand(t);
for(i = 0; i < NUM_OF_INT; i++){
data[i] = rand()%200 + 1;
printf("%d ", data[i]);
}
printf("\n");
sort(data);
for(i = 0; i < NUM_OF_INT; i++){
printf("%d ", data[i]);
}
printf("\n");
printf("min_val = %d,max_val = %d",data[0], data[NUM_OF_INT - 1]);
printf("\n");
if(NUM_OF_INT % 2){
printf("middle_val = %d\n", data[NUM_OF_INT / 2]);
}else{
printf("middle_val = %d\n", (data[NUM_OF_INT / 2] + data[NUM_OF_INT / 2 - 1]) / 2);
}
float average_val = average(data);
printf("average = %f\n", average_val);
float variance_val = variance(data, average_val);
printf("variance = %f\n", variance_val);
float deviation_val = sqrt(variance_val);
printf("deviation = %f\n", deviation_val);
//不懂你说的相关系数是什么,是自相关,还是啥呀
}