#include<bits/stdc++.h>
using namespace std;
int solve(char a[])
{
int dot=0,n1=0,n2=0,i=0;
if(a[0]=='-') i=1;
for( ; a[i]!='\0'; i++)
{
if((a[i]<'0'||a[i]>'9')&&a[i]!='.')
return 0;
if(dot==1&&a[i]=='.')
return 0;
if(dot)
n1++;
if(dot==0&&a[i]=='.') dot=1;
if(!dot) n2++;
}
if(n1>2) return 0;
if(atof(a)<-1000||atof(a)>1000)
return 0;
return 1;
}
int main()
{
int n,cnt=0;
scanf("%d",&n);
double sum=0.0;
char A[1007]= {0};
for(int i=0; i<n; i++)
{
scanf("%s",A);
if(solve(A)) sum+=atof(A),cnt++;
else printf("ERROR: %s is not a legal number\n",A);
}
if(cnt==1)
printf("The average of 1 number is %.2lf",sum);
else if(cnt==0)
printf("The average of 0 numbers is Undefined");
else
printf("The average of %d numbers is %.2lf",cnt,sum/cnt);
return 0;
}
patB1054
最新推荐文章于 2021-12-08 01:35:03 发布