面試題20 表示數值的字串

2021-09-25 11:42:53 字數 682 閱讀 9247

題目:請實現乙個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串「+100」、「5e2」、「-123」、「3.1416」及「-1e-16」都表示數值,但「12e」、「1a3.14」、「1.2.3」、「+-5」及「12e+5.4」都不是。

#includeusing namespace std;

bool scanunsignedinteger(const char** str)

//*str>before表示存在0到9的數字

return *str > before;

}bool scaninteger(const char** str)

return scanunsignedinteger(str);

}bool isnumeric(const char* str)

//1.先檢查整數部分 整數部分為有符號數

bool numeric = scaninteger(&str);

//2.再檢查小數部分 小數部分為無符號數

if (*str == '.')

//3.最後檢查指數部分 指數部分為有符號數

if (*str == 'e' || *str == 'e')

return numeric && (*str == '\0');

}int main()

面試題20 表示數值的字串

題目 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 0123 都表示數值,但 12e 1a3.14 1.2.3 5 1e 16 及 12e 5.4 都不是。示例 輸入 100 輸出 true 思想 這個題最簡單的做法就是遍歷字串,判斷字串是...

面試題54 表示數值的字串

請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。這道題沒什麼別的技巧,按照數值的表示規則,逐個掃瞄字串,看是否符合要求。數值有如下幾種情況 1...

面試題55 表示數值的字串

題目描述 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路 1 在數值字串的最前面,可能有乙個字元表示 號。正負號之後,注意 如果是字串結...