華為2014校園招聘的機試題目和2023年的完全一樣。
一、題目描述(60分):
通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。
比如字串「abacacde」過濾結果為「abcde」。
要求實現函式:void stringfilter(const char *pinputstr, long linputlen, char *poutputstr);
【輸入】 pinputstr: 輸入字串
linputlen: 輸入字串長度
【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;
【注意】只需要完成該函式功能演算法,中間不需要有任何io的輸入輸出
示例輸入:「deefd」 輸出:「def」
輸入:「afafafaf」 輸出:「af」
輸入:「pppppppp」 輸出:「p」
main函式已經隱藏,這裡保留給使用者的測試入口,在這裡測試你的實現函式,可以呼叫printf列印輸出
當前你可以使用其他方法測試,只要保證最終程式能正確執行即可,該函式實現可以任意修改,但是不要改變函式原型。一定要保證編譯執行不受影響。
下面是我用vs2010寫的,思路是每次從源字串取乙個字元,判斷目標字元的所有字元是否有重複的,沒有,就將此字元再加入到目標字元後面
#include "stdafx.h"
#include #include using namespace std;
void stringfilter(const char *pinputstr,long linputlen,char *poutputstr)
else
}poutputstr[x]='\0';
}int _tmain(int argc, _tchar* argv)
for(i=0;i>src;
int len=strlen(src);
char *dst=new char[len+1];
arithmetic(src,len,dst);
if(*dst=='\0')
cout<<"0 注:輸入錯誤";
else
cout<
四、亮著電燈的盞數
一條長廊裡依次裝有
n(1≤n≤
65535)
盞電燈,從頭到尾編號1、
2、3、…
n-1、
n。每盞電燈由乙個拉線開關控制。開始,電燈全部關著。 有
n個學生從長廊穿過。第乙個學生把號碼凡是
1的倍數的電燈的開關拉一下;接著第二個學生把號碼凡是
2的倍數的電燈的開關拉一下;接著第三個學生把號碼凡是
3的倍數的電燈的開關拉一下;如此繼續下去,最後第
n個學生把號碼凡是
n的倍數的電燈的開關拉一下。
n個學生按此規定走完後,長廊裡電燈有幾盞亮著。
注:電燈數和學生數一致。
下面是我用vs2010寫的,這個還是比較簡單的,就是要記得new後要delete
#include "stdafx.h"
#include using namespace std;
const unsigned int num_max=65535;
unsigned int getlightlampnum(unsigned int num)
}unsigned int k=0;
for(de_num=1;de_num<=num;de_num++)
delete flag;
return k;
}int _tmain(int argc, _tchar* argv)
{unsigned int n;
cin>>n;
unsigned int kk=getlightlampnum(n);
cout<
2023年華為上機題目
華為2014校園招聘的機試題目和2013年的完全一樣。一 題目描述 60分 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。比如字串 abacacde 過濾結果為 abcde 要求實現函式 void stringfilter...
華為校招上機題
1.兔子爬洞問題 兔子白天爬出5公尺,晚上又掉下去2公尺。問給定洞的深度,兔子要爬多少天 include includeusing namespace std int str2int const char str int main int argc,char argv temp temp 10 st...
華為上機第二題
輸入 n a b n表示有多少個城市,a表示要出發的城市,b表示要到達的城市 接著輸入n n的矩陣,表示任意兩個城市是否連通,連通用1表示,否則用0表示 如 3 0 2 1 1 1 1 1 1 1 1 1 輸出 從a到b共有多少條路。include include using namespace s...