華為機試 數字處理專題

2021-10-23 15:06:13 字數 2983 閱讀 6214

hj5進製轉換(多組同時輸入 )

整數的範圍:

int 佔4個位元組範圍為:-2^31 ~ 2^31-1

longlong佔8個位元組 -2^63 ~ 2^63-1

hj10字元個數統計

關於空字元』\n』 ; 空格字元』 』 ; 0字元』0』

// 字元乙個個輸入

while

(cin>>c) hash[c]=1

;// 出現過的key字元其value都為1

// 開始總計出現次數

int sum=0;

for(

int i =

0; i

size()

; i++

) cout << sum << endl;

return0;

}hj25數字分類處理

主要思路:

先看看測試的輸入輸出,如何把資料輸入進來,有空格那就用cin乙個個輸入並用vector儲存吧

儲存好vector r、i後,按照題意先對r進行排序去重

拿r[i]與i進行match

需要對照著測試輸出,30, 3,6,0,123,3,453,7,3,9,453456,13,453,14,123

用 r_word cnt index value依次儲存這些數,再輸出

// 對於這道題要用到字串匹配

// 題目描述這麼多,最後幹的事是

// 將規則陣列排序(從小到大),並去重

// 遍歷輸入陣列,檢查輸入陣列的每個元素是是否包含規則陣列中的數字i,

// 如果包含則將輸入陣列元素位置和元素輸出到最終結果中

#include

#include

#include

#include

using

namespace std;

// 子集r[i]在i中

// 還有另外一種寫法 strstr(d, c)

bool

match

(int r,

int i)

intmain()

cin>>rnum;

for(

int i=

0; i

)// 1.r排序 去重

sort

(r.begin()

, r.

end())

; r.

erase

(unique

(r.begin()

, r.

end())

, r.

end())

;// 去重

// 2.r[i]去匹配i

vector<

int> value, cnt, index, r_word;

for(

int i=

0; i

size()

;i++)}

if(cnt1!=0)

}// 接下來定義輸出

//30, 3,6,0,123

int sum=r_word.

size()

+cnt.

size()

+index.

size()

+value.

size()

;// 30=3+6+0+123's size()

cout << sum <<

" ";

// 舉例子用逗號,實際輸出空格

// 輸出r[i] cnt index i[index]

int j=0;

for(

int i=

0; i

size()

; i++)}

}return0;

}

hj33整數與ip位址之間的轉換

主要思路:

移位計算

注意用long儲存十進位制數,防止陣列越界

#include

#include

using

namespace std;

intmain()

return0;

}

hj39判斷兩個ip是否屬於同一子網

主要思路:

處理輸入,用cin+ dot;

掩碼與ip1、ip2輸入後,先判斷輸入是否非法

再通過&運算,判斷是否相等

#include

using

namespace std;

intmain()

// 輸入不非法,開始判斷and後是否相等

elseif(

((mask1&&ip1a)

==(mask1&&ip2a))&&

((mask2&&ip1b)

==(mask1&&ip2b))&&

((mask3&&ip1c)

==(mask1&&ip2c))&&

((mask4&&ip1d)

==(mask1&&ip2d)))

else

}return0;

}

華為機試 數字排序

輸入一串用空格隔開的數字串,對於數字串的奇數字按公升序排序,偶數字按降序排序。示例輸入 4 6 2 3 6 7 8 1 處理過程 奇數字 4 2 6 8 公升序排序結果 2 4 6 8 偶數字 6 3 7 1 降序排序結果 7 6 3 1 結果輸出 2 7 4 6 6 3 8 1 zpx002661...

華為機試 數字顛倒

題目描述 描述 輸入乙個整數,將這個整數以字串的形式逆序輸出 程式不考慮負數的情況,若數字含有0,則逆序形式也含有0,如輸入為100,則輸出為001 輸入描述 輸入乙個int整數 輸出描述 將這個整數以字串的形式逆序輸出 輸入 1516000 輸出 0006151 方法一程式 先把數字轉換為字串,在...

表示數字 華為機試 C C

將乙個字元中所有出現的數字前後加上符號 其他字元保持不變 public static string marknum string pinstr 輸入乙個字串 字元中所有出現的數字前後加上符號 其他字元保持不變 示例1jkdi234klowe90a3jkdi 234 klowe 90 a 3 第九十一...