到華為又玩了一把面試,竟然增加了一個上機考試的題目,呵呵,增加了新花樣啊。
對於把華為面試當成軟體水平測試的我來說,是一個很大驚喜。
好,現在說上機考試:
1.首先,在他們上機考試的頁面裡面,輸入你的名字和手機號碼(這個也是華為s的首創,為直接找成績優異的考生方便:))
2.下載他們的機考代碼,一個簡單的工程,裡面有一個未實現的函數,和函數功能說明。
3.你實現這個函數,調試通過程式,然後,打包成zip檔案上傳。
我遇到的題目是這樣的:
一個字串裡麵包一些位置不定的空格符(space character), 要把裡面所有的非空白字元找出來,把空格用','替換。
替換後的句子末尾必須有一個‘,’存在。
例如 :“this is an demo”替換後的結果應該為:
"this,is,an,demo,"
呵呵,題目是不是很簡單呢? 其實,這個題目裡面還是有很多“點”呢,一點考慮不到,就會影響你的成績。
現在介紹下我實現的函數 :
void ReplaceString(char *pInString ,int iLeng ,char *pOutString) //(pOutString 假定是足夠長的記憶體,從外部傳入)
{
*pOutString = "/0";
while( *pInString == ' ') // jump space character that occur at start .
pInString ++;
char *ptOutString = pOutString ;
while(*pInStirng)
{
*ptOutString= *pInString;
ptOutString++;
pInString++;
if(*pInString == ' ')
{
*ptOutString= ',';
ptOutString++;
}
while(*pInString && *pInString == ' ')
pInString++;
}
*ptOutString= '/0';
if(pOutString[0] != '/0' && *(ptOutString -1)!=',')
{
*ptOutString = ',';
* (++ptOutString ) = '/0';
}
}
呵呵,這個是個滿分的答案,您可以自己寫下,然後參考。