面試題 字串轉化為數字

2021-06-21 20:08:31 字數 1027 閱讀 9525

輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串「12345」,則輸出整數「12345」。

本題看似很簡單,依次掃瞄字串,對於每次掃瞄到的字元,把在之前得到的數字乘10再加上當前字元表示的數字值即可。但是如果把所有特殊情況都考慮進去並分別給出處理,也不是非常容易的。

考慮以下測試用例:

1  考慮數字的符號:輸入字串為正數,負數,0。

2  考慮溢位。 考慮待處理資料的最大上界與最小下界。若用int儲存(32位),則為0x7fffffff與0x10000000(signed  int)

3  若為異常輸入。包括輸入字串為null指標,輸入字串為空字元,輸入字串中有非數字字元。

**如下:

#include "stdafx.h"

#include enum status ;

int g_nstatus=kinvalid;

using namespace std;

long long strtointcore(const char* digit,bool minus)

digit++;

} else

}if(*digit=='\0')

return num;

}int strtoint(const char* str)

else if(*str=='-')

if(*str!='\0')

}return (int) num;

}int _tmain(int argc, _tchar* argv)

{ //char s="1234567";

//char s="-123456789";

//char s="0";

//char s="123456789123456789";

char s="-12345678";

//char* s=null;

//char s="-dlakjl";

int num=0;

num=strtoint(s);

cout<<"num= "<

面試題 字串翻轉

使用 c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str 使用c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str include i...

字串面試題 字串逆序

字串逆序可以說是最經常考的題目。這是一道入門級的題目。給定乙個字串s,將s中的字元順序顛倒過來,比如s abcd 逆序後變成s dcba 基本上沒有這麼考的,放在這裡主要是為了和後面的原地逆序做個對比。很簡單,直接分配乙個與原字串等長的字元陣列,然後反向拷貝一下即可。char reverse cha...

字串轉化為數字

如何把entry中輸入的字串轉化為對應的數字 例如,如果輸入為s 0 12 3 40 怎麼把它轉化為對應的數字呢?根據需要,胡亂寫了 記錄在此。功能 把字串轉化為數字列表 輸入s 字串 輸出 數字列表 def strtonum s s 0 12 3 40 p 用來存放字串中的數字 0,1,2,3,4...