0903 2013華為校園招聘機試題

2021-06-18 08:30:15 字數 3091 閱讀 4239

1、

通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。

比如字串「abacacde」過濾結果為「abcde」。

要求實現函式: 

void stringfilter(const char *pinputstr, long linputlen, char *poutputstr);

【輸入】 pinputstr:  輸入字串

linputlen:  輸入字串長度  

【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;

【注意】只需要完成該函式功能演算法,中間不需要有任何io的輸入輸出

示例 輸入:「deefd」  

輸出:「def」

輸入:「afafafaf」  

輸出:「af」

輸入:「pppppppp」  

輸出:「p」

*/[cpp]view plain

copy

#include 

#include 

//過濾函式

void

stringfilter(

const

char

*pinputstr, 

char

*poutputstr)  

;  const

char

* pstr = pinputstr;  

char

* presult = poutputstr;  

while

( *pstr != 

'\0'

)    

else

}  *presult = '\0'

;  }  

2、 /*

題目描述(40分):

通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。

壓縮規則:

1. 僅壓縮連續重複出現的字元。比如字串"abcbc"由於無連續重複字元,壓縮後的字串還是"abcbc".

2. 壓縮欄位的格式為"字元重複的次數+字元"。例如:字串"***yyyyyyz"壓縮後就成為"3x6yz"

要求實現函式: 

void stringzip(const char *pinputstr, long linputlen, char *poutputstr);

【輸入】 pinputstr:  

輸入字串

linputlen:  

輸入字串長度  

【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;

【注意】只需要完成該函式功能演算法,中間不需要有任何io的輸入輸出

示例 

輸入:「cccddecc」  

輸出:「3c2de2c」

輸入:「adef」  

輸出:「adef」

輸入:「pppppppp」 輸出:「8p」

[cpp]view plain

copy

//壓縮字串

void

stringzip(

const

char

*pinputstr, 

long

linputlen, 

char

*poutputstr)  

else

*presult++ = *pfirst;  

count = 0;  

}  pfirst++;  

psecond++;  

}  if

(count > 0)  

*presult++ = *pfirst;  

*presult = '\0'

;  }  

3、通過鍵盤輸入100以內正整數的加、減表示式,請編寫乙個程式輸出運算結果字串。

輸入字串的格式為:「運算元1 運算子 運算元2」,「運算元」與「運算子」之間以乙個空格隔開。

補充說明:

1. 運算元為正整數,不需要考慮計算結果溢位的情況。

2. 若輸入算式格式錯誤,輸出結果為「0」。

要求實現函式: 

void arithmetic(const char *pinputstr, long linputlen, char *poutputstr);

【輸入】 pinputstr:  

輸入字串

linputlen:  

輸入字串長度  

【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;

【注意】只需要完成該函式功能演算法,中間不需要有任何io的輸入輸出

示例 輸入:「4 + 7」  

輸出:「11」

輸入:「4 - 7」  

輸出:「-3」

輸入:「9 ++ 7」  

輸出:「0」 注:格式錯誤

[cpp]view plain

copy

void

arithmetic(

const

char

*pinputstr, 

long

linputlen, 

char

*poutputstr)  

else

}  *ptemp = '\0'

;  if

(pright == pleft || *pright == 

'+'|| *pright == 

'-')  

intl = atoi(pleft);  

intr = atoi(pright);  

intresult;  

switch

(*pinputstr)  

itoa(result, poutputstr, 10);         

}  

[cpp]view plain

copy

intmain()    

華為2014校園招聘機試題

一條長廊裡依次裝有n 1 n 65535 盞電燈,從頭到尾編號1 2 3 n 1 n。每盞電燈由乙個拉線開關控制。開始,電燈全部關著。有n個學生從長廊穿過。第乙個學生把號碼凡是1的倍數的電燈的開關拉一下 接著第二個學生把號碼凡是2的倍數的電燈的開關拉一下 接著第三個學生把號碼凡是3的倍數的電燈的開關...

2014校園招聘 華為機試題

1,亮著電燈的盞數 一條長廊裡依次裝有n 1 n 65535 盞電燈,從頭到尾編號1 2 3 n 1 n。每盞電燈由乙個拉線開關控制。開始,電燈全部關著。有n個學生從長廊穿過。第乙個學生把號碼凡是1的倍數的電燈的開關拉一下 接著第二個學生把號碼凡是2的倍數的電燈的開關拉一下 接著第三個學生把號碼凡是...

2013華為校園招聘機試題

題目描述 60分 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。比如字串 abacacde 過濾結果為 abcde 要求實現函式 void stringfilter const char pinputstr,long li...