个人网站可以做商业用途吗,wordpress+资源分享,流媒体视频网站建设,西安网站建设熊掌1054 求平均值 #xff08;20 分#xff09;本题的基本要求非常简单#xff1a;给定 N 个实数#xff0c;计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数#xff0c;并且最多精确到小数点后 2 位。当你计算平均… 1054 求平均值 20 分 本题的基本要求非常简单给定 N 个实数计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数并且最多精确到小数点后 2 位。当你计算平均值的时候不能把那些非法的数据算在内。 输入格式 输入第一行给出正整数 N≤100。随后一行给出 N 个实数数字间以一个空格分隔。 输出格式 对每个非法输入在一行中输出 ERROR: X is not a legal number其中 X 是输入。最后在一行中输出结果The average of K numbers is Y其中 K 是合法输入的个数Y 是它们的平均值精确到小数点后 2 位。如果平均值无法计算则用 Undefined 替换 Y。如果 K 为 1则输出 The average of 1 number is Y。 输入样例 1 7
5 -3.2 aaa 9999 2.3.4 7.123 2.35输出样例 1 ERROR: aaa is not a legal number
ERROR: 9999 is not a legal number
ERROR: 2.3.4 is not a legal number
ERROR: 7.123 is not a legal number
The average of 3 numbers is 1.38输入样例 2 2
aaa -9999输出样例 2 ERROR: aaa is not a legal number
ERROR: -9999 is not a legal number
The average of 0 numbers is Undefined //这道题的解法应该是柳神的#includecstdio
#includecstring
int main(){double temp,sum 0;int cnt 0,n;char a[50],b[50];scanf(%d,n);for(int i 0; i n; i){scanf(%s,a);sscanf(a,%lf,temp);sprintf(b,%.2f,temp);bool flag true;for(int j 0; j strlen(a); j){if(a[j] ! b[j]){flag false;break;}}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\n,sum);else if(cnt 0) printf(The average of 0 numbers is Undefined\n);else printf(The average of %d numbers is %.2f\n,cnt,sum/cnt);return 0;
} 转载于:https://www.cnblogs.com/wanghao-boke/p/10392594.html