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

2021-06-21 09:57:40 字數 1456 閱讀 5254

// huawei test.cpp : 定義控制台應用程式的入口點。

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

在中國,形容夫妻恩愛的詞彙中,大家用的比較多的就是「夫妻相」。所謂「夫妻相」,就是兩個人看上去比較般配,長相、身材等某些方面有一定的相似度。本題則另闢蹊徑,

從人的姓名維度,以字母重複個數來尋找最具「夫妻相」的人。題目中預先給定一組女士的姓名拼音。輸入男士的姓名拼音(拼音中間可以有空格,字母全部小寫),依預先給定

姓名拼音的先後遍歷所有姓名,輸出字母重複數最多的女士姓名。

規則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"

執行時間限制: 無限制 

記憶體限制: 無限制 

輸入: 輸入乙個男士姓名,字串 

輸出: 輸出最具「夫妻相」的女士姓名

*/#include "stdafx.h"

#include

#include

#define num 20

void restore(char letter,char *husname) //將丈夫姓名裡出現的字母(重複的只存一次)存入letter陣列中

else

i++;

}if(t)

}a++;}}

int compare(char l,char gl)//比較有多少字母相同

else

j++;

}i++;

}return count;

}int _tmain(int argc, _tchar* argv)

;int max=0;

int num[10];

char gletter[num];

char *husname=(char *)malloc(20);

char letter[num];

for(int i=0;i

gets(husname);

restore(letter,husname);

for(int j=0;j<10;j++)

for(int k=1;k<10;k++)

printf("%s\n",gname[max]);

system("pause");

return 0;

}//scanf()輸入字串時遇到空格就停止;所以用gets();

華為機試 姓名的夫妻相

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

華為機試 姓名的夫妻相

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

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

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