3.9—字符串—Valid Number

来源:互联网 发布:第一次戴隐形眼镜知乎 编辑:程序博客网 时间:2024/06/10 16:02
描述
Validate if a given string is numeric.
Some examples:
"0" => true
" 0.1 " => true
"abc" => false
"1 a" => false
"2e10" => true
Note: It is intended for the problem statement to be ambiguous. You should gather all requirements
up front before implementing one.

#include<iostream>#include <string>#include <vector>using namespace std;bool ValidNum(string str){bool flag = false;int posindex = 0;int negindex = 0;int dotindex = 0; int dotcount = 0;int eindex = 0; int ecount = 0;int length = str.size();for (int i = 0; i<length; i++){//===if (str[i] == '+'){posindex = i;if (posindex >= 1)return flag;}if (str[i] == '-'){negindex = i;if (negindex >= 1)return flag;}//===if (str[i] == '.'){dotindex = i;if (dotindex == 0)return flag;dotcount++;if (dotcount >= 2)return flag;}else if (str[i] == 'e'){eindex = i;ecount++;if (ecount >= 2)return flag;}else if ('0' <= str[i] && str[i] <= '9'){}elsereturn flag;}//===if (ecount == 1 && dotcount == 1){if (eindex>dotindex)return true;elsereturn flag;}//===return true;}int main(){string str = "2.2e10";bool flag = ValidNum(str);if (flag)cout << str << "    is a valid num!" << endl;}

原创粉丝点击