解法一:
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main()
{
int n;
double total = 0, m, sd = 0, num;
vector<double> si;
while (cin >> n)
{
total = sd = 0;
for (int i = 0; i < n; i++)
{
cin >> num;
si.push_back(num);
total += num;
}
m = total / n;
cout << "Average:" << m;
for (int i = 0; i < n; i++)
{
sd += pow((si[i] - m), 2);
}
sd = sqrt(sd / n);
cout << "\t" << "Standard deviation:" << sd << endl;
si.clear();
}
return 0;
}
解法二
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
double *arr=new double[n];
double average=0,deviation=0;
for(int i=0;i<n;i++)
{
cin>>arr[i];
average+=arr[i];
}
average/=n;
for(int i=0;i<n;i++)
{
deviation+=(arr[i]-average)*(arr[i]-average);
}
deviation=sqrt(deviation/n);
cout << "Average:" << average << "\t" << "Standard deviation:" << deviation << endl;
}
return 0;
}
沒有留言:
張貼留言