1108 Finding Average
题目大意
输入可能存在非法输入,求合法输入数值的平均值
注意
1、最后的输出要注意,当合法数的个数为0或者大于等于2时,用复数numbers;当只有一个时,用单数number。
2、另一种简单的参考方案时是,遍历找到小数点位置,如果存在小数点位置,并且小数点位置后还存在至少3个字符位,就说明不合法。
3、可以直接用sscanf(str.c_str(),"%lf",&number)直接把字符串转换为浮点数。
4、除了字母,还可能有其他非法字符。
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int k;
bool islegal(string str,double &num){
int len=str.length();
int dot_num=0,dec_size=0,ifneg=1;
double dec_num=0;
if(str[0]=='-'){
ifneg=-1;
str.erase(str