请教修改(不改结构)
判断素数并统计、计算其均方差、排序#include<iostream>
#include<cmath>
using namespace std;
const int n=10;
int i,j=0;
int a[n],b[n];
//查找素数
void fun()
{
int m,min;
cout<<"请输入十个数据:";
for(i=0;i<n;i++)
{
cin>>a[i];
}
cout<<"请输入一个数:";
cin>>min;
for(i=0;i<n;i++)
{
m=a[i];
if(m<=1)
continue;
for(int i=2;i<m;i++)
if(m%i==0)
break;
if(i>=m)
{
if(b[j]<min)
{
b[j]=m;
j++;
}
}
}
cout<<"查找到的素数:";
for(i=0;i<j;i++)
{
cout<<b[i]<<" ";
}
cout<<endl;
}
//素数排序
void Rate()
{
int t,p;
for(i=0;i<j;i++)
{
for(p=0;p<j-i;p++)
{
if(b[j]>b[j+i])
{
t=b[j];
b[j]=b[j+1];
b[j+1]=b[j];
}
}
}
cout<<"排序后的素数:";
for(i=0;i<j;i++)
{
cout<<b[i]<<" ";
}
cout<<endl;
}
//求方差
void show()
{
double S,m,q,w;
for(i=0;i<j;i++)
{
q+=b[i];
}
m=q/j;
for(i=0;i<j;i++)
{
w += pow((b[i]-m),2);
}
S=sqrt(w);
cout<<"素数的均方差:"<<S<<endl;
}
int main()
{
fun();
Rate();
show();
return 0;
}