面試題54 表示數值的字串

2021-07-04 16:42:30 字數 593 閱讀 9596

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

這道題沒什麼別的技巧,按照數值的表示規則,逐個掃瞄字串,看是否符合要求。

數值有如下幾種情況:

1、正負數,首位可以有『+』 和 『-』 符號;

2、小數

3、科學計數法,符號『e』 或 『e』 ,注意  e 或 e 之後只能是整數(可以有正負數)

實現細節見**

class solution 

else if(*string == 'e' || *string == 'e')

isnum = i***p(&string);

else

isnum = false;

}return isnum && (*string == '\0');

}void scandigits(char **str)

bool i***p(char **str)

};

面試題55 表示數值的字串

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

面試題20 表示數值的字串

題目 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 及 1e 16 都表示數值,但 12e 1a3.14 1.2.3 5 及 12e 5.4 都不是。includeusing namespace std bool scanunsignedi...

面試題20 表示數值的字串

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