#include<iostream>#include<cstdio>#include<cstring>usingnamespace std;intmain(){int n, cnt =0;char a[50], b[50];double temp, sum =0.0;
cin >> n;for(int i =0; i < n; i++){scanf("%s", a);sscanf(a,"%lf",&temp);//输入非法,则返回EOF 输入aaa非法直接结束输入,temp值不变sprintf(b,"%.2f", temp);//sprintf主要功能是把格式化的数据写⼊某个字符串中,从后往前int flag =0;for(int j =0; j <strlen(a); j++)if(a[j]!= b[j]) flag =1;if(flag || 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);elseif(cnt >1)printf("The average of %d numbers is %.2f", cnt, sum / cnt);elseprintf("The average of 0 numbers is Undefined");return0;}