// PATn.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
bool check_number(string &s)
{
const string s_f = "0123456789-.";
for (auto r : s)//判断是否含有除数字、负号、点号外的字符!
{
if (s_f.find(r) == string::npos)
return false;
}
if (s.find_first_of('.') != s.find_last_of('.'))//判断是否含有多个字符‘.’
return false;
if (s.find('.')!=string::npos)
{
if ((s.size() - s.find('.')) > 3)//判断小数点的位数是否大于2!
return false;
}
double tmp = stod(s);
if (tmp < -1000 || tmp>1000)//判断是否越界!
return false;
return true; //通过所有判断后则满足条件!
}
int main()
{
unsigned n;
cin >> n;
string tmp;
double sum=0;
unsigned count = 0;
for (unsigned i = 0; i < n; ++i)
{
cin >> tmp;
if (check_number(tmp))
{
sum = sum + stod(tmp);
count = count + 1;
}
else
{
cout << "ERROR: " << tmp << " is not a legal number" << endl;
}
}
cout.setf(ios::fixed);
if(count == 0)
cout <<"The average of 0 numbers is Undefined";
else
{
auto out = sum / (count*1.0);
if (count == 1)
cout << "The average of " << count << " number is " << setprecision(2) << out;
else
cout << "The average of " << count << " numbers is " << setprecision(2)<<out;
}
system("pause");
return 0;
}
1054
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 想想秋季时节高个子女生应该如何穿衣搭配才能突出自己魅力,获得更高的回头率呢?我想这个是每位高个子女生的烦恼。 看看...