⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 02.cpp

📁 求解均值
💻 CPP
字号:
//:02.cpp
//求解均值,方差,标准差计算器
#include<iostream>
#include<cmath>
#include <cstdio> 
#include<iomanip>
//#define n 10//宏定义十个变量,这里可以任意定义变量的个数
using namespace std;

float SumAllNumber(int N,float *num)//定义求和函数
{
	float sum=0.0;
	float *p=num;
	for(;p<num+N;p++)
		sum+=*p;
	return(sum);
}
float Mean(int N,float *num)//定义求均值函数
{
    float sumallnumber=SumAllNumber(N,num);
	return(sumallnumber/N);
}
float Distance(int N,float *num,int i)//定义求(Xi-Xavg)^2的函数
{
	float *p=num;
	float mean=Mean(N,num);
	return(pow(*(p+i)-mean,2));
}
float SumAllDistance(int N,float *num)//定义求(Xi-Xavg)^2的和函数
{
	float sumalldistance=0.0;
	for(int i=0;i<N;i++)
		sumalldistance+=Distance(N,num,i);
	return(sumalldistance);
}
float Variance(int N,float *num)//定义求方差的函数
{
	return(SumAllDistance(N,num)/(N-1));
}
float StdDeviation(int N,float *num)//定义求标准差的函数
{
	float stddeviation=sqrt(Variance(N,num));
	return(stddeviation);
} 
void PrintfShortLine()//定义打印'-'的函数
{
    for(int i=0;i<46;i++)
		cout<<"-";
	cout<<'\n';
}
int main()//在main函数中输入变量
{ 

	float* num;
	int n;
        cout<<setw(4)<<"欢迎使用求解均值,方差,标准差计算器"<<endl;
	cout<<"请输入求解变量数"<<endl;
	cin>>n;
 
	if ((num=(float*)malloc(n*sizeof(float)))==NULL)
  //num=(float*)malloc(n*sizeof(float));
/*	num=new float[n];*/
   { 
      printf("Not enough memory to allocate buffer\n"); 
      exit(1);  // terminate program if out of memory 
   } 
	cout<<"请输入求解变量:"<<endl;
	for(int i=0;i<n;i++)
		cin>>num[i];
	PrintfShortLine();//打印‘-’
	cout<<"|"<<setw(4)<<"n"<<setw(20)<<"x"<<setw(20)<<"(Xi-Xavg)^2"<<"|"<<endl;
	for(int j=0;j<n;j++)
		cout<<"|"<<setw(4)<<j+1<<setw(20)<<num[j]<<setw(20)<<Distance(n,num,j)<<"|"<<endl;
	cout<<"|"<<setw(4)<<"总计"<<setw(20)<<SumAllNumber(n,num)<<setw(20)<<SumAllDistance(n,num)<<"|"<<endl;
	cout<<"|"<<setw(4)<<"均值(Mean)"<<setw(34)<<Mean(n,num)<<"|"<<endl;
	cout<<"|"<<setw(4)<<"方差(Variance)"<<setw(30)<<Variance(n,num)<<"|"<<endl;
	cout<<"|"<<setw(4)<<"标准差(StdDeviation)"<<setw(24)<<StdDeviation(n,num)<<"|"<<endl;
	PrintfShortLine();
	cout<<"感谢使用本计算器,请按任意键退出"<<endl;
	free(num);//释放内存
//	delete []num;
}///:~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -