📄 02.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 + -