表示數值的字串 劍指offer

2021-08-17 20:02:34 字數 1034 閱讀 3695

這道題寫起來比較繁瑣,需要考慮+-號是否出現在第乙個位置,.是否出現一次,以e為分割前後是不是正確的格式,e前可以為浮點數或者整數,e後只能是整數。

因此如果把函式分成三個子函式來寫就好多了,乙個函式判斷是不是整數,乙個判斷是不是浮點數,乙個判斷e前後是否合法。

#include 

#include

bool is_znum(char *string)

else

return

false;

}else

if (isdigit(*string))

else

return

false;

}return

true;

}bool is_fnum(char* string)

else

return

false;

}else

if (isdigit(*string))

else

if (*string == '.')

return

false;

}else

return

false;

}else

return

false;

}return

false;

}//分為e之前,e之後判斷

bool isnumeric(char* string)

if (*string == '\0')

return

true;

//e之後只能跟整數並且不為空

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

if (is_znum(string))

else

return

false;

}return

false;

}else

return

false;

}int main()

劍指Offer 表示數值的字串

題目 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。基本思路 字串應滿足通式a b e ec 或者.b e ec 其中,a c表示有 或無 ...

劍指offer 表示數值的字串

請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。本題考查對字串的程式設計能力,我們需要從不同型別的數值中分析規律,要全面考慮數值整數,小數,指...

劍指Offer 表示數值的字串

請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路一 利用正規表示式,對字串中的每個字元進行判斷分析 思路二 利用自身的格式校驗 思路三 對...