国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

1054. 求平均值 (20)

2019-11-11 07:47:33
字體:
來源:轉載
供稿:網友

本題的基本要求非常簡單:給定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

#include <iostream>#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <cctype>using namespace std;int N;char str[100][100]; bool Check(char s[]){ int i = 0; if(s[0] == '-') { i ++; } //整數部分檢測,只能是數字 for(; s[i] && s[i] != '.'; i ++){ if(!isdigit(s[i])){ return false; } } //小數部分檢測,只能是不超過2位的數字 if(s[i] == '.'){ for(int j = i + 1; s[j]; j ++){ if(!isdigit(s[j]) || j - i > 2){ return false; } } } double a = fabs(atof(s)); //范圍檢測 if(a > 1000.0) return false; return true;}void solve(){ int ans = 0; double sum = 0; for(int i = 0; i < N; i ++){ if(Check(str[i])){ ans ++; sum += atof(str[i]); } else{ cout << "ERROR: " << str[i] << " is not a legal number" << endl; } } if(ans){ if(ans == 1) 這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泗阳县| 吉水县| 中卫市| 内黄县| 稷山县| 平潭县| 丹阳市| 德化县| 柘荣县| 永和县| 绥芬河市| 治多县| 勐海县| 嵊州市| 龙门县| 梅州市| 荆州市| 巫山县| 黄山市| 壤塘县| 通河县| 中牟县| 平罗县| 南充市| 醴陵市| 楚雄市| 万载县| 天镇县| 安丘市| 新密市| 兰西县| 尼勒克县| 固始县| 靖江市| 定边县| 宁都县| 广宗县| 定南县| 丰宁| 嘉定区| 古浪县|