華為機試題刷題筆記

2021-08-29 04:11:56 字數 1964 閱讀 9182

1.一段英文本串中最後乙個單詞的長度:

注意要點:cin和getline的區別;

cin為字串輸入時,遇見空格,編譯器認為字串輸入結束;

getline可以輸入含有空格的字串;

安全起見,在c++中字串的輸入,最好都用getline;

cin作為輸入字串的例子如下圖所示:結果輸出的字串為輸入第乙個空格之前的資料;

執行結果:

本機試題**:

2.輸入乙個字串和乙個字元,統計該字元在該字串中出現的次數:

注意點:只要是乙個字母就行,不區分大小寫;

需要用到tolower函式;

3.輸入一串整數,整數去重,輸出排好序的結果:

學習要點:sort和unique函式的用法;

版本一:

不用任何庫函式;

氣泡排序加排序後比較重複數字進行剔除

#include#includeusing namespace std;

int main()

//氣泡排序

for(i=1;iarr[j+1])

} }//去重

for(int i=0;i執行結果

版本二:

利用容器裡面的set的特點,不重複且排好序;

**:#include#include#includeusing namespace std;

int main()

cout執行結果:

版本三:

主要是利用了sort函式和unique函式;

sort(itera,iterb),對迭代器表示的位址之間的數值進行從小到大的排序;預設從小到大;

unique函式的用法:

功能:對有序的容器重新排序,將第一次出現的元素從前往後排,其他重複出現的元素依次排在後面;

返回值:返回迭代器;指向重複元素的首位址

erase函式:

erase(itera,iterb)

擦除從迭代器a到迭代器b之間的元素;

**:#include#include#include#includeusing namespace std;

int main()

sort(arr.begin(),arr.ennd());

vectoriterator::iter;

iter=unique(arr.begin().arr.end());

if(iter!=arr.end())

for(iter=arr.begin();iter!=arr.end();iter++){

cout<

華為機試刷題總結

1,最小公倍數 兩數之積 最大公約數。2,牛頓迭代思想,xn 1 xn f xn f xn 即x x x3 y 3 x2 2 x y x x 3 include cout5,氣泡排序 include強大的標頭檔案功能 6,表示數字,isdigit 判斷數字 7.記票統計,include 8.放蘋果,...

華為機試題第三題

輸入乙個正整數x,在下面的等式左邊的數字之間新增 號或者 號,使得等式成立。1 2 3 4 5 6 7 8 9 x 比如 12 34 5 67 89 5 1 23 4 5 6 7 8 9 5 請編寫程式,統計滿足輸入整數的所有整數個數。輸入 正整數,等式右邊的數字 輸出 使該等式成立的個數 樣例輸入...

華為機試題目1 10題

第三題 明明的隨機數問題,根據題意是將輸入的資料進行去重和排序,明顯是用treeset。第五題 進製轉換問題。本來打算一點一點寫乙個map,進行轉換,發現太過麻煩,上網查後,發現有兩個方法可以直接轉換。字串s 0xa 十進位制是10 方法一 integer.decode s 即可為10 decode...