求一个c语言程序:输入一组数,求其最大值,最小值,中位数,平均数,方差,标准差及其相关系数.要求,程序中有数据排序体现且采用冒泡排序,其中有一个模块采用宏编写,但尽量多采用函数编写,
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 08:56:39
求一个c语言程序:输入一组数,求其最大值,最小值,中位数,平均数,方差,标准差及其相关系数.要求,程序中有数据排序体现且采用冒泡排序,其中有一个模块采用宏编写,但尽量多采用函数编写,
求一个c语言程序:输入一组数,求其最大值,最小值,中位数,平均数,方差,标准差及其相关系数.
要求,程序中有数据排序体现且采用冒泡排序,其中有一个模块采用宏编写,但尽量多采用函数编写,相关系数可选择编写.请高手指教,越快越好!
求一个c语言程序:输入一组数,求其最大值,最小值,中位数,平均数,方差,标准差及其相关系数.要求,程序中有数据排序体现且采用冒泡排序,其中有一个模块采用宏编写,但尽量多采用函数编写,
#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){
\x09int i, j;
\x09int temp_val;
\x09for(i = 0; i < NUM_OF_INT; i++){
\x09\x09for(j = 0; j < NUM_OF_INT - i - 1; j++){
\x09\x09\x09if(MAX(data[j],data[j + 1])){
\x09\x09\x09\x09temp_val = data[j];
\x09\x09\x09\x09data[j] = data[j + 1];
\x09\x09\x09\x09data[j + 1] = temp_val;
\x09\x09\x09}
\x09\x09}
\x09}
}
//平均值
float average(int * data){
\x09int temp_val = 0;
\x09for(int i = 0; i < NUM_OF_INT; i++){
\x09\x09temp_val += data[i];
\x09}
\x09return (float)temp_val / NUM_OF_INT;
}
//方差
float variance(int * data, float average){
\x09double temp_val = 0;
\x09for(int i = 0; i < NUM_OF_INT; i++){
\x09\x09temp_val += pow((data[i] - average), 2);
\x09}
\x09return (float)temp_val / NUM_OF_INT;
}
void main(){
\x09int i;
\x09int temp_val;
\x09int data[NUM_OF_INT];
\x09time_t t;
\x09time(&t);
\x09srand(t);
\x09for(i = 0; i < NUM_OF_INT; i++){
\x09\x09data[i] = rand()%200 + 1;
\x09\x09printf("%d ", data[i]);
\x09}\x09
\x09printf("\n");
\x09sort(data);
\x09for(i = 0; i < NUM_OF_INT; i++){
\x09\x09printf("%d ", data[i]);
\x09}
\x09printf("\n");
\x09printf("min_val = %d,max_val = %d",data[0], data[NUM_OF_INT - 1]);
\x09printf("\n");
\x09
\x09if(NUM_OF_INT % 2){
\x09\x09printf("middle_val = %d\n", data[NUM_OF_INT / 2]);
\x09}else{
\x09\x09printf("middle_val = %d\n", (data[NUM_OF_INT / 2] + data[NUM_OF_INT / 2 - 1]) / 2);
\x09}
\x09float average_val = average(data);
\x09printf("average = %f\n", average_val);
\x09float variance_val = variance(data, average_val);
\x09printf("variance = %f\n", variance_val);
\x09float deviation_val = sqrt(variance_val);
\x09printf("deviation = %f\n", deviation_val);
\x09//不懂你说的相关系数是什么,是自相关,还是啥呀
}