2015華為校園招聘機試模擬題及解答

2021-06-25 10:17:29 字數 1760 閱讀 2622

1、模擬n個人參加選舉的過程,並輸出選舉結果:假設候選人有四人,分別用「a」、」b」、」c」、」d」表示,選舉時開始計票, 若輸入的不是「a」、」b」、」c」、」d」則視為無效票。選舉結束後獲取各個候選人的得票數以及無效票的個數,輸出結果以新增候選人的順序進行順序輸出,最後一行為無效的數量。同時getvoteresult命令為結束命令。

輸入為多行形式輸入,每一行為一條命令。輸入的命令只會是有效命令且不存在非法命令,但可能存在非法的投票,上面已經描述了。

新增候選人的命令如下:addcandidate為命令 xx1為候選人:

addcandidate xx1

投票的命令如下:vote為命令 xx1為候選人的字串:

vote xx1

統計投票的命令如下:getvoteresult為命令:

getvoteresult

void main()

if(commond == vote)

std::cin>>commond;

} std::vector::iterator iter = candidate.begin();

while(iter != candidate.end()) }

void main()

start = i;

end = i;

} std::cout< -1) }

if(i + 1 < n) }

if(j - 1 > -1) }

if(j + 1 < m) }

return false;

}void main()

} int i = 0;

int j = 0;

bool found = false;

for(i = 0;!found && i < n; ++i)

}} if(!found)

if(foundword(matrix,n,m,i,j,words,1))

std::cout<<"yes";

else

std::cout<<"no";

system("pause");

}

上乙個**中存在乙個明顯的問題,就是假設首個字母出現多次的情形下,無法正常判斷

typedef struct _position

_position(int r,int c)

}position,*positionptr;

void main()

char *matrix = new char[n * m];

for(int i = 0; i < n; i++) }

for(int i = 0; i < n; i++)

}} //記錄的位置<-1,-1>,《真實位置》

//對記錄進行查詢,並判斷是否連續,如何進行判斷

//使用棧操作,將多個可行節點入棧

std::pairstack[10];//int 是word中下標, positiono下標字母對應座標

int top = 0;//指向棧頂

map_size count = record.count(words.at(0));

std::multimap::iterator iter = record.find(words.at(0));

iter++;//首個為<-1,-1>

for(map_size cnt = 1; cnt != count; cnt++,iter++)

while(top != 0)//堆疊操作 }

std::cout<<"no"<

2015屆華為校園招聘機試題

第一題 60分 按要求分解字串,輸入兩個數m,n m代表輸入的m串字串,n代表輸出的每串字串的位數,不夠補0。例如 輸入2,8,abc 123456789 則輸出為 abc00000 12345678 90000000 cpp view plain copy include include usin...

2015屆華為校園招聘機試題

include include using namespace std void solve char str int n int len else putchar printf n int main void return 0 第一題 拼音轉數字 輸入是乙個只包含拼音的字串,請輸出對應的數字序列。...

2015屆華為校園招聘機試題二

include include include includeusing namespace std 輸入是乙個只包含拼音的字串,請輸出對應的數字序列。轉換關係如下 描述 拼音 yi er san si wu liu qi ba jiu 阿拉伯數字 1 2 3 4 5 6 7 8 9 輸入字元只包含...