解法一:
#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; }
沒有留言:
張貼留言