1108 Finding Average (20 分)
sscanf 和 sprintf是个好东西
#include <iostream>
#include <cstring>
using namespace std;
int main(){
int n, k = 0;
double sum = 0, temp;
cin >> n;
while(n--){
char a[50], b[50];
scanf("%s", a);
sscanf(a, "%lf", &temp);
sprintf(b, "%.2lf", temp);
int f = 0;
for(int i = 1; i < strlen(a); ++i)
if(a[i] != b[i])
f = 1;
if(f || temp < -1000 || temp > 1000)
printf("ERROR: %s is not a legal number\n", a);
else{
k++;
sum += temp;
}
}
if(k > 1)
printf("The average of %d numbers is %.2lf", k, sum / k);
else if(k == 1)
printf("The average of %d number is %.2lf", k, sum);
else
printf("The average of 0 numbers is Undefined");
}