11.獎金提成
簡要描述:企業發放的獎金根據利潤提成。
利潤低於或等於100000元的,獎金可提10%;
利潤高於100000元,低於200000元(100000≤200000)時;
低於100000元的部分按10%提成;
高於100000元的部分,可提成7.5%;
200000≤400000時,低於200000元部分仍按上述辦法提成,(下同);
高於200000元的部分按5%提成;
400000≤600000元時,高於400000元的部分按3%提成;
600000≤1000000時,高於600000元的部分按1.5%提成;
i>1000000時,超過1000000元的部分按1%提成。
從鍵盤輸入當月利潤i,求應發獎金總數。
輸入:乙個整數,當月利潤。
輸出:乙個整數,獎金。
例如:輸入900
輸出90
備註:獎金向下取整,不作四捨五入處理。
答案點這裡
12.判斷任意兩台計算機的ip位址是否屬於同一子網路
請看以下示例:
運算演示之一:
子網掩碼:255.255.255.0
and運算
轉化為二進位制進行運算:
子網掩碼:11111111.11111111.11111111.00000000
and運算:11010000.10101000.00000000.00000000
轉化為十進位制後為: 192.168.0.0
運算演示之二:
子網掩碼:255.255.255.0
and運算
轉化為二進位制進行運算:
子網掩碼:11111111.11111111.11111111.00000000
and運算:11010000.10101000.00000000.00000000
轉化為十進位制後為:192.168.0.0
通過以上對兩台計算機ip位址與子網掩碼的and運算後,我們可以看到它運算結果是一樣的。均為192.168.0.0,所以這二台計算機可視為是同一子網路。
介面說明
原型:int issamesubnetwork(char * pcip1, char * pcip2, char * pcsubnetworkmask);
輸入引數:
char * pcsubnetworkmask: 子網掩碼,格式:「255.255.255.0」
返回值:
0:ip1與ip2不屬於同一子網路。
1:ip1與ip2屬於同一子網路。
答案點這裡
13.求m的n次方的最後三位
簡要描述:正整數m 的n次方有可能是乙個非常大的數字,我們只求該數字的最後三位
例1:比如輸入5和3 ,5的3次方為125,則輸出為125
例2:比如輸入2和10 2的10次方為1024 ,則輸出結果為24
例3:比如輸入111和5 111的5次方為116850581551,則輸出結果為551
答案點這裡
14.求車速
簡要描述:一輛以固定速度行駛的汽車,司機在上午10點看到里程表(里程表有6位)上的讀數是乙個對稱數(即這個數從左向右讀和從右向左讀是完全一樣的,例如95859公里)。兩小時後里程表上出現了乙個新的對稱數。問該車的速度(公里/小時)是多少?
介面說明
原型:int calcspeedofcar(int icurrentmileage, int * picarspeed);
輸入引數:
int pccurrentmileage:當前里程數(為對稱數) (pccurrentmileage ≤ 999999)
輸出引數:
int * picarspeed:汽車速度
返回值:
0:汽車速度計算成功
答案點這裡
15.求某二進位制數中1的個數
簡要描述:
求某二進位制數中1的個數。
給定乙個unsigned int型的正整數,求其二進位制表示中「1」的個數,要求演算法的執行效率盡可能地高。
詳細描述:
介面說明
原型:int getcount(unsigned int num)
輸入引數:
num 給定的正整數
輸出引數(指標指向的記憶體區域保證有效): 無
返回值:
返回1的個數
舉例:輸入13,則對應的二進位制是1101,那麼1的個數為3個。
則:返回3。
答案點這裡
16.求圓的面積
簡要描述:計算半徑為1到10的圓的面積,若面積在40到90之間請輸出 介面
int outputrotundityarea(float* presultarray,int &arraycount)
float* presultarray :float型陣列
int arraycount:陣列長度 規格
要求時間複雜度為o(n)
π = 3.14
答案點這裡
17.求子陣列的最大和
簡要描述:輸入乙個整形陣列。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。 介面
int getsubarraysum(int* pintarray,int ncount); 規格
要求時間複雜度為o(n) 舉例
例如輸入的陣列為1, -2, 3, 10, -4, 7, 2, -5,和最大的子陣列為3, 10, -4, 7, 2,
因此輸出為該子陣列的和18
答案點這裡
18.取給定正整數的指定bit位開始的指定長度的資料
簡要描述:介面說明
原型:unsigned int getbitsvalue(unsigned int input, unsigned int startbit, unsigned int bitlen)
輸入引數:
input 輸入的整數
startbit 需要獲取的開始bit
bitlen 需要獲取的bit長度
輸出引數(指標指向的記憶體區域保證有效): 無
返回值:
對應的bit取值
舉例:輸入:4, 2, 2
返回:2
4對應的二進位制為100(bit0和bit1為0,bit2為1),那麼從bit2開始的2位為10,那麼對應的十進位制為2。
答案點這裡
19.上樓梯問題
簡要描述:愛因斯坦出了一道這樣的數學題:有一條長階梯,若每步跨2階,則最最後剩一階,若每步跨3 階,則最後剩2階,若每步跨5階,則最後剩4階,若每步跨6階則最後剩5階。只有每次跨7階,最後才正好一階不剩。請問這條階梯共有多少階?
答案點這裡
20.數列求和
簡要描述:編寫程式,輸入乙個正整數n,求下列算式的值。要求定義和呼叫函式fact(k)計算k的階乘。
1+1/2!+ .... +1/n!
計算結果儲存在double型別變數中。
介面說明
原型:void getresult(int inputnum, double *numresult);
輸入引數:
int inputnum:輸入乙個正整數,進行表示式計算
char *numresult:輸出表示式的值
返回值:
void
答案點這裡
華為OJ之初級篇
21.數字統計 簡要描述 對輸入的整型陣列,輸出陣列元素中的最大值 最大值的個數 最小值和最小值的個數 詳細描述 介面說明 原型 voidoutputmaxandmin int pinputinteger,intinputnum,int pmaxvalue,int pmaxnum,int pminv...
華為OJ之初級篇
本文章旨在提供乙個互相學習和交流的平台,也作為oj刷題這段時光的記錄。本人非計算機科班出身,程式主要以實現功能性需求為主,暫不考慮效能 質量等因素。以下oj題目順序為成功通過機器驗證的順序,本篇題目全出自初級題系列。為了保證本文介面的簡潔性,以 片形式給出,見相關 答案點這裡 鏈結。1.在字串中找出...
華為OJ題目 初級篇(機試OJ平台)
華為oj初級篇是本人蒐集的一些題目,都run過ok,初級題我個人感覺必要在15 20min以內完成,不然時間不夠用,一共三道,後兩道中高階題目。題目一 作業系統任務排程問題。作業系統任務分為系統任務和使用者任務兩種。其中,系統任務的優先順序 50,使用者任務的優先順序 50且 255。優先順序大於2...