華為機試 姓名的夫妻相

2021-06-27 20:26:06 字數 1616 閱讀 5937

題目:夫妻相

在中國,形容夫妻恩愛的詞彙中,大家用的比較多的就是「

夫妻相」

。所謂「

夫妻相」

,就是兩個人看上去比較般配,長相、身材等某些方面有一定的相似度。

本題則另闢蹊徑,從人的姓名維度,以字母重複個數來尋找最具

「夫妻相

」的人。

題目中預先給定一組女士的姓名拼音。輸入男士的姓名拼音(拼音中間可以有空格,

字母全部小寫),依預先給定姓名拼音的先後遍歷所有姓名,輸出字母重複數最多的女士姓名。

規則1:如果字母重複數最多的女士有多位相同,則以最先匹配的女士做為最具

「夫妻相

」的人選。

規則2:人名中的相同字母,按重複一次處理。例如:

li ling 

與li lei 

重複的字元個數為

2,而不是4。

預置女士名單(

先後循序必須保證

):"wang fei",

"zhang man yu",

"zhang zhi yi",

"li li",

"li xiao man",

"li yu cun",

"yang ni",

"xiao tong",

"li lei",

"zhang san"

執行時間限制: 

無限制記憶體限制: 

無限制輸入: 

輸入乙個男士姓名,字串

輸出: 

輸出最具

「夫妻相

」的女士姓名

基本思路

找到男士女士名字裡出現的字母,比如說wang yun,出現的字母為a,g,n,y,u,w.然後匹配兩個名字裡出現的字母重複數,如果都出現了某個字母,重複數就加1.

#include #include using namespace std;  

//10個名字,26個字元

char namearray[10][26]=;

//找出a,b中字母重複的次數

int findcount(bool a,bool b)

return count;

}

int main()

} }

bool flag_1[26]; //每個男士名字中記錄出現的字母,出現為1,不出現為0

memset(flag_1,0,sizeof(flag_1));

for(i=0;name[i]!='\0';i++)

} int count[10]; //記錄每個女士名字中和輸入的男士名字中的重複字母數

int max =0;

for(i=0;i<10;i++)

for(i=0;i<10;i++)

{ if(count[i]==max)

{ cout<

測試結果,可能不周全,歡迎查漏補缺:

華為機試 姓名的夫妻相

題目 夫妻相 在中國,形容夫妻恩愛的詞彙中,大家用的比較多的就是 夫妻相 所謂 夫妻相 就是兩個人看上去比較般配,長相 身材等某些方面有一定的相似度。本題則另闢蹊徑,從人的姓名維度,以字母重複個數來尋找最具 夫妻相 的人。題目中預先給定一組女士的姓名拼音。輸入男士的姓名拼音 拼音中間可以有空格,字母...

姓名的夫妻相(C)華為機試題

huawei test.cpp 定義控制台應用程式的入口點。題目 2014華為武漢上機試題二 姓名的夫妻相 在中國,形容夫妻恩愛的詞彙中,大家用的比較多的就是 夫妻相 所謂 夫妻相 就是兩個人看上去比較般配,長相 身材等某些方面有一定的相似度。本題則另闢蹊徑,從人的姓名維度,以字母重複個數來尋找最具...

2014華為武漢上機試題二 姓名的夫妻相

在中國,形容夫妻恩愛的詞彙中,大家用的比較多的就是 夫妻相 所謂 夫妻相 就是兩個人看上去比較般配,長相 身材等某些方面有一定的相似度。本題則另闢蹊徑,從人的姓名維度,以字母重複個數來尋找最具 夫妻相 的人。題目中預先給定一組女士的姓名拼音。輸入男士的姓名拼音 拼音中間可以有空格,字母全部小寫 依預...