//1054
#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
int main(){
int n,cnt=0;
double sum=0.0,temp;
cin>>n;
char a[50];
char b[50];
for(int i=0;i<n;i++){
scanf("%s",&a);
sscanf(a,"%lf",&temp);//从a中读一个double存到temp中
sprintf(b,"%.2f",temp);//将temp保留两位小数存到b中
int flag=0;
for(int j=0;j<strlen(a);j++)
if(a[j] != b[j]) flag=1;
if(flag == 1 || temp < -1000 || temp > 1000){
printf("ERROR: %s is not a legal number\n",a);
continue;
}else{
sum += temp;
cnt++;
}
}
if(cnt == 1)
printf("The average of 1 number is %.2f", sum);
else if(cnt > 1)
printf("The average of %d numbers is %.2f", cnt, sum / cnt);
else
printf("The average of 0 numbers is Undefined");
return 0;
}
参考柳婼