#include <bits/stdc++.h>
#include <stdlib.h>
using namespace std;
bool check(string s)
{
bool flag = true;
int countp = 0;
int countn = 0;
for (int i = 0; i < s.length(); i ++) {
if ((s[i] < '0' || s[i] > '9') && (s[i] != '.') && (s[i] != '-')) {
return false;
}
if (s[i] == '.') {
countp++;
}
}
if (countp > 1) {
return false;
}
if (flag) {
for (int i = s.length() - 1; i >= 0; i --) {
if (s[i] == '.') {
break;
}
countn++;
}
if (countn > 2 && countp == 1) {
return false;
}
if (atof(s.c_str()) < -1000 || atof(s.c_str()) > 1000) {
return false;
}
}
return true;
}
int main()
{
int n;
string s;
double sum = 0.0;
int count = 0;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> s;
if (check(s)) {
sum += atof(s.c_str());
count++;
} else {
cout << "ERROR: " + s + " is not a legal number" << endl;
}
}
if (count == 0) {
cout << "The average of 0 numbers is Undefined" << endl;
} else if (count == 1) {
printf("The average of 1 number is %.2f", sum);
} else {
printf("The average of %d numbers is %.2f", count, sum / count);
}
return 0;
}
1054.求平均值
最新推荐文章于 2021-06-11 15:27:07 发布