華為機試題(4)

2021-08-27 02:48:50 字數 1549 閱讀 2900

1、識別字串中的整數並轉換為數字形式

void take_num(const char *strin, int *n, unsigned int *outarray)

【輸入】 strin: 輸入的字串

【輸出】 n: 統計識別出來的整數個數

outarray:識別出來的整數值,其中outarray[0]是輸入字串中從左到右第乙個整數,

outarray[1]是第二個整數,以此類推。陣列位址已經分配,可以直接使用

【返回】 無 注:

i、 不考慮字串中出現的正負號(+, -),即所有轉換結果為非負整數(包括0和正整數)

ii、 不考慮轉換後整數超出範圍情況,即測試用例中可能出現的最大整數不會超過unsigned int可處理的範圍

iii、 需要考慮 '0' 開始的數字字串情況,比如 "00035" ,應轉換為整數35;

"000" 應轉換為整數0;"00.0035" 應轉換為整數0和35(忽略小數點:mmm.nnn當成兩個數mmm和nnn來識別)

iv、 輸入字串不會超過100 bytes,請不用考慮超長字串的情況。

示例 輸入:strin = "ab00cd+123fght456-25 3.005fgh"

輸出:n = 6

outarray =

[cpp]

view plain

copy

print

?

#include

#include

voidtake_num(const

char*strin,int*n,unsignedint*outarray)

outarray[m]=res;

m++;}}

*n=m;

}intmain(/*intargc,char**argv*/)

#include #include void take_num(const char *strin, int *n, unsigned int *outarray)

outarray[m] =res;

m++;

} }*n = m;

}int main(/*int argc, char **argv*/)

[cpp]

view plain

copy

print

?

#include

#include

voidmax_prefix_match(const

char*ip_addr,const

char*net_addr_array,int*n)

if(cnt>maxi)}}

}intmain(/*intargc,char**argv*/)

;max_prefix_match(ip_addr,net_addr_array,&n);

printf("n=%d\n",n);

system("pause");

return0;

}

華為機試題

今天去華為機試,感覺是再謹慎都不為過啊!zc前一天晚上還跟我強調了判空,記憶體釋放。前兩題都是基本題,後面一題不會。1 輸入兩個數 反轉相加的和輸出。2 三天打漁兩天曬網 從1990 年1月1日開始 打漁輸出fishing 曬網輸出sleeping 我因為printf的是fishing sleepi...

華為機試題

通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2.壓縮欄位的格式為 字元重複的次數 字元 例如 字串 yyy...

華為機試題

1.輸入乙個字串,將字串中的非字母字元刪除,保留字串中的小寫字母,將大寫字母變為小寫字母,然後輸出字串。比如 輸入 sdf sfjadf sdf 輸出 sdfsfjadfsdf 2.n進製數求和,輸入乙個整數n 2 n 35 兩個字串,字串中的字元一定是0 9或者a z 10 35 中的,輸出兩個字...