成年人在线观看视频免费,国产第2页,人人狠狠综合久久亚洲婷婷,精品伊人久久

我要投稿 投訴建議

華為認(rèn)證筆試題目

時(shí)間:2021-02-21 14:58:18 筆試題目 我要投稿

2017華為認(rèn)證筆試題目

  2017華為認(rèn)證筆試題目是怎樣的?以下是CN人才網(wǎng)小編整理的2017華為認(rèn)證筆試題目,歡迎閱讀參考!

2017華為認(rèn)證筆試題目

  2017華為認(rèn)證筆試題目一

  第一題【20分】:鑒定回文數(shù)組

  給定一個(gè)數(shù)組判斷是否是回文,這題沒(méi)什么好說(shuō)明,直接看代碼:

  1 #include

  2 using namespace std;

  3

  4 bool isHuiWen(string s)

  5 {

  6 int length_s=s.length();

  7 int i=0;

  8 for(i=0;i<(length_s>>1);i++)

  9 {

  10 if(s.at(i)!=s.at(length_s-1-i))

  11 return false;

  12 }

  13 return true;

  14 }

  15

  16 int main()

  17 {

  18 string ss="iloveevolis";

  19 if(isHuiWen(ss))

  20 {

  21 cout<<"Huiwen"<

  22 }

  23 else

  24 {

  25 cout<<"No"<

  26 }

  27 return 1;

  28 }

  第二題【30分】:求兩個(gè)整型數(shù)組的異集,即A+B-(A與B的交集)。

  這里只是提供我的一個(gè)思路:

  這個(gè)問(wèn)題的求解可以簡(jiǎn)化為統(tǒng)計(jì)數(shù)組A B中任何字符的個(gè)數(shù),A+B-(A與B的交集)的結(jié)果就是統(tǒng)計(jì)僅僅出現(xiàn)過(guò)一次的數(shù)字:

  但是題目中沒(méi)有限制是字符,而是整形,數(shù)據(jù)量太大,這里借用了map操作,進(jìn)行簡(jiǎn)化內(nèi)存:

  針對(duì)這個(gè)思路程序如下:

  1 #include

  2 #include

  3 using namespace std;

  4

  5 map mi;

  6 map::iterator mit;

  7 int A[10]={1,2,3,4,5,6,3,2,8,9};

  8 int B[10]={8,7,6,5,9,0,3,4,8,40};

  9 int R[20];

  10 int RC=0;

  11

  12

  13 void getAB(int* a,int na,int* b,int nb)

  14 {

  15 string re;

  16 mi.clear();

  17 for(int i=0;i

  18 {

  19 mit=mi.find(a[i]);

  20 if(mit!=mi.end())

  21 {

  22 mit->second++;

  23 }

  24 else

  25 {

  26 mi.insert(make_pair(a[i],1));

  27 }

  28 }

  29

  30 for(i=0;i

  31 {

  32 mit=mi.find(b[i]);

  33 if(mit!=mi.end())

  34 {

  35 mit->second++;

  36 }

  37 else

  38 {

  39 mi.insert(make_pair(b[i],1));

  40 }

  41 }

  42

  43 for(mit=mi.begin(),i=0;mit!=mi.end();mit++)

  44 {

  45 if(mit->second==1)

  46 {

  47 R[i++]=mit->first;

  48 }

  49 }

  50 RC=i;

  51 }

  52

  53 int main()

  54 {

  55 getAB(A,10,B,10);

  56 for(int i=0;i

  57 {

  58 cout<

  59 }

  60 return 1;

  61 }

  第三題【50分】:判定德州撲克的牌型。給5張牌,返回它的牌型,4個(gè)的,3個(gè)+對(duì)子,順子,3個(gè)+2個(gè)單張,2對(duì),1對(duì),其他。

  德州撲克我還是很喜歡玩的,其中牌型牌型可以有近10中結(jié)果,題目?jī)H僅讓我們判斷七種。但是這七種結(jié)果不具有繼承性,所以我們?cè)O(shè)計(jì)一個(gè)好的程序。

  那么就要統(tǒng)一他們的表現(xiàn)形式,下面是我的思路:

  排序

  判斷跳變次數(shù)

  進(jìn)行篩選結(jié)果

  這樣可以較為統(tǒng)一的處理各種結(jié)果,參考程序如下:

  1 #include

  2 #include

  3 using namespace std;

  4

  5 struct Node{

  6 char type;//0 1 2 3四種花色,可以考慮用enum類型

  7 int v;//面值

  8 };

  9

  10 Node N[5]={

  11 {0,5},

  12 {0,9},

  13 {0,2},

  14 {0,9},

  15 {0,9},

  16 };

  17

  18 int n_of_v[5]={0,0,0,0,0};

  19

  20 bool myCMP(Node& a,Node& b)

  21 {

  22 return a.v>b.v;

  23 }

  24

  25 bool myNCMP(int a,int b)

  26 {

  27 return a>b;

  28 }

  29

  30 //獲取每個(gè)的個(gè)數(shù)

  31 int getN(Node* Nv)

  32 {

  33 int i=0;

  34 int j=0;

  35 int n=1;

  36 for(i=0;i<4;i++)

  37 {

  38 if(Nv[i].v==Nv[i+1].v)

  39 {

  40 n++;

  41 }

  42 else

  43 {

  44 n_of_v[j++]=n;

  45 n=1;

  46 }

  47 }

  48 n_of_v[j++]=n;

  49 return j;

  50 }

  51

  52 void showResult()

  53 {

  54 if(n_of_v[0]==4)

  55 {

  56 cout<<"4+1"<

  57 }

  58 else if(n_of_v[0]==3&&n_of_v[1]==2)

  59 {

  60 cout<<"3+2"<

  61 }

  62 else if(n_of_v[0]==3&&n_of_v[1]==1)

  63 {

  64 cout<<"3+1+1"<

  65 }

  66 else if(n_of_v[0]==2&&n_of_v[1]==2)

  67 {

  68 cout<<"2+2+1"<

  69 }

  70 else if(n_of_v[0]==2&&n_of_v[1]==1)

  71 {

  72 cout<<"2+1+1+1"<

  73 }

  74 else if(n_of_v[0]==1)

  75 {

  76 //可能是順子

  77 if(N[0].v==N[1].v+1

  78 &&N[1].v==N[2].v+1

  79 &&N[2].v==N[3].v+1

  80 &&N[3].v==N[4].v+1)

  81 {

  82 cout<<"不好意思,出了個(gè)順子"<

  83 }

  84 else

  85 cout<<"五張單牌"<

  86 }

  87 }

  88

  89 //傳入大小為5的結(jié)構(gòu)體數(shù)組

  90 //進(jìn)行判斷

  91 int getType(Node* Nv)

  92 {

  93 //首先排序

  94 sort(N,N+5,myCMP);

  95 //提取個(gè)數(shù)

  96 getN(Nv);

  97 sort(n_of_v,n_of_v+5,myNCMP);

  98

  99 //根據(jù)n_數(shù)組進(jìn)行判斷

  100

  101 if(n_of_v[0]==4)

  102 {

  103 cout<<"四個(gè)一樣的哦"<

  104 }

  105

  106 return 1;

  107 }

  108 int main()

  109 {

  110 getType(N);

  111 showResult();

  112 return 1;

  113 }

  2017華為認(rèn)證筆試題目二

  1、通過(guò)鍵盤輸入100以內(nèi)正整數(shù)的加、減運(yùn)算式,請(qǐng)編寫(xiě)一個(gè)程序輸出運(yùn)算結(jié)果字符串。

  輸入字符串的格式為:“操作數(shù)1 運(yùn)算符 操作數(shù)2”,“操作數(shù)”與“運(yùn)算符”之間以一個(gè)空格隔開(kāi)。

  補(bǔ)充說(shuō)明:

  1. 操作數(shù)為正整數(shù),不需要考慮計(jì)算結(jié)果溢出的情況。

  2. 若輸入算式格式錯(cuò)誤,輸出結(jié)果為“0”。

  要求實(shí)現(xiàn)函數(shù):

  void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);

  【輸入】 pInputStr: 輸入字符串

  lInputLen: 輸入字符串長(zhǎng)度

  【輸出】 pOutputStr: 輸出字符串,空間已經(jīng)開(kāi)辟好,與輸入字符串等長(zhǎng);

  【注意】只需要完成該函數(shù)功能算法,中間不需要有任何IO的輸入輸出

  示例

  輸入:“4 + 7” 輸出:“11”

  輸入:“4 - 7” 輸出:“-3”

  輸入:“9 ++ 7” 輸出:“0” 注:格式錯(cuò)誤

  復(fù)制代碼

  1 void arithmetic(const char *pInputStr,long lInputLen,char *pOutputStr)

  2 {

  3 assert(pInputStr!=NULL && pOutputStr!=NULL && lInputLen>0);

  4 int iOperand1=0;

  5 int iOperand2=0;

  6 char cSymbol;

  7 long i;

  8 for (i=0;;i++)

  9 {

  10 if (pInputStr[i]>='0' && pInputStr[i]<='9')

  11 {

  12 iOperand1=iOperand1*10+(pInputStr[i]-'0');

  13 }

  14 else if (pInputStr[i]==' ')

  15 {

  16 break;

  17 }

  18 else

  19 {

  20 return;

  21 }

  22 }

  23

  24 for (++i;;i++)

  25 {

  26 if (pInputStr[i]=='+' || pInputStr[i]=='-')

  27 {

  28 cSymbol=pInputStr[i];

  29 }

  30 else if (pInputStr[i]==' ')

  31 {

  32 break;

  33 }

  34 else

  35 {

  36 return;

  37 }

  38 }

  39

  40 for (++i;i

  41 {

  42 if (pInputStr[i]>='0' && pInputStr[i]<='9')

  43 {

  44 iOperand2=iOperand2*10+(pInputStr[i]-'0');

  45 }

  46 else

  47 {

  48 break;

  49 }

  50 }

  51 int iTemp;

  52 switch(cSymbol)

  53 {

  54 case '+':

  55 iTemp=iOperand1+iOperand2;

  56 break;

  57 case '-':

  58 iTemp=iOperand1-iOperand2;

  59 break;

  60 default:

  61 break;

  62 }

  63

  64 int k=0;

  65 if (iTemp<0)

  66 {

  67 iTemp=-iTemp;

  68 pOutputStr[0]='-';

  69 k++;

  70 }

  71

  72 char cTemp[10];

  73 itoa(iTemp,cTemp,10);

  74 int j=0;

  75 while(cTemp[j])

  76 {

  77 pOutputStr[k++]=cTemp[j++];

  78 }

  79

  80 pOutputStr[k]='\0';

  81

  82 }

  復(fù)制代碼

  2、手機(jī)號(hào)碼合法性判斷(20分)

  問(wèn)題描述:

  我國(guó)大陸運(yùn)營(yíng)商的手機(jī)號(hào)碼標(biāo)準(zhǔn)格式為:國(guó)家碼+手機(jī)號(hào)碼,例如:8613912345678。特點(diǎn)如下:

  1、 長(zhǎng)度13位;

  2、 以86的國(guó)家碼打頭;

  3、 手機(jī)號(hào)碼的每一位都是數(shù)字。

  請(qǐng)實(shí)現(xiàn)手機(jī)號(hào)碼合法性判斷的.函數(shù)(注:考生無(wú)需關(guān)注手機(jī)號(hào)碼的真實(shí)性,也就是說(shuō)諸如86123123456789這樣的手機(jī)號(hào)碼,我們也認(rèn)為是合法的),要求:

  1) 如果手機(jī)號(hào)碼合法,返回0;

  2) 如果手機(jī)號(hào)碼長(zhǎng)度不合法,返回1

  3) 如果手機(jī)號(hào)碼中包含非數(shù)字的字符,返回2;

  4) 如果手機(jī)號(hào)碼不是以86打頭的,返回3;

  【注】除成功的情況外,以上其他合法性判斷的優(yōu)先級(jí)依次降低。也就是說(shuō),如果判斷出長(zhǎng)度不合法,直接返回1即可,不需要再做其他合法性判斷。

  要求實(shí)現(xiàn)函數(shù):

  int verifyMsisdn(char* inMsisdn)

  【輸入】 char* inMsisdn,表示輸入的手機(jī)號(hào)碼字符串。

  【輸出】 無(wú)

  【返回】 判斷的結(jié)果,類型為int。

  示例

  輸入: inMsisdn = “869123456789“

  輸出: 無(wú)

  返回: 1

  輸入: inMsisdn = “88139123456789“

  輸出: 無(wú)

  返回: 3

  輸入: inMsisdn = “86139123456789“

  輸出: 無(wú)

  返回: 0

  復(fù)制代碼

  1 int verifyMsisdn(char *inMsisdn)

  2 {

  3 assert(inMsisdn!=NULL);

  4

  5 int iLen=strlen(inMsisdn);

  6 if (iLen!=13)

  7 {

  8 return 1;

  9 }

  10

  11 for (int i=0;i

  12 {

  13 if (inMsisdn[i]<'0' || inMsisdn[i]>'9')

  14 {

  15 return 2;

  16 }

  17 }

  18

  19 if (inMsisdn[0]!='8' || inMsisdn[1]!='6')

  20 {

  21 return 3;

  22 }

  23

  24 return 0;

  25

  26 }

  復(fù)制代碼

  3、將一個(gè)字符串的元音字母復(fù)制到另一個(gè)字符串,并排序(30分)

  問(wèn)題描述:

  有一字符串,里面可能包含英文字母(大寫(xiě)、小寫(xiě))、數(shù)字、特殊字符,現(xiàn)在需要實(shí)現(xiàn)一函數(shù),將此字符串中的元音字母挑選出來(lái),存入另一個(gè)字符串中,并對(duì)字符串中的字母進(jìn)行從小到大的排序(小寫(xiě)的元音字母在前,大寫(xiě)的元音字母在后,依次有序)。

  說(shuō)明:

  1、 元音字母是a,e,i,o,u,A,E,I,O,U。

  2、 篩選出來(lái)的元音字母,不需要剔重(chong);

  最終輸出的字符串,小寫(xiě)元音字母排在前面,大寫(xiě)元音字母排在后面,依次有序。

  要求實(shí)現(xiàn)函數(shù):

  void sortVowel (char* input, char* output);

  【輸入】 char* input,表示輸入的字符串

  【輸出】 char* output,排好序之后的元音字符串。

  【返回】 無(wú)

  示例

  輸入:char *input = “Abort!May Be Some Errors In Out System. “

  輸出:char *output =“aeeeooouAEIO “

  復(fù)制代碼

  1 void sortVowel(char *pInput,char *pOutput)

  2 {

  3 assert(pInput!=NULL && pOutput!=NULL);

  4

  5 int iLen=strlen(pInput);

  6 char *pSmall=new char[iLen+1];

  7 char *pLarge=new char[iLen+1];

  8

  9 int iSmallCount=0;

  10 int iLargeCount=0;

  11

  12 for (int i=0;i

  13 {

  14 if (pInput[i]=='a' || pInput[i]=='e' || pInput[i]=='i' || pInput[i]=='o' || pInput[i]=='u')

  15 {

  16 pSmall[iSmallCount++]=pInput[i];

  17

  18 }

  19 else if (pInput[i]=='A' || pInput[i]=='E' || pInput[i]=='I' || pInput[i]=='O' || pInput[i]=='U')

  20 {

  21 pLarge[iLargeCount++]=pInput[i];

  22 }

  23 }

  24

  25 sort(pSmall,pSmall+iSmallCount);

  26 sort(pLarge,pLarge+iLargeCount);

  27

  28 int j,k=0;

  29 for (j=0;j

  30 {

  31 pOutput[k++]=pSmall[j];

  32 }

  33 for (j=0;j

  34 {

  35 pOutput[k++]=pLarge[j];

  36 }

  37

  38 pOutput[k]='\0';

  39

  40 delete []pSmall;

  41 delete []pLarge;

  42 }

  復(fù)制代碼

  4、我國(guó)公民的身份證號(hào)碼特點(diǎn)如下:

  1、 長(zhǎng)度為18位;

  2、 第1~17位只能為數(shù)字;

  3、 第18位可以是數(shù)字或者小寫(xiě)英文字母x。

  4、 身份證號(hào)碼的第7~14位表示持有人生日的年、月、日信息。

  例如:511002198808080111或51100219880808011x。

  請(qǐng)實(shí)現(xiàn)身份證號(hào)碼合法性判斷的函數(shù)。除滿足以上要求外,需要對(duì)持有人生日的年、月、日信息進(jìn)行校驗(yàn)。年份大于等于1900年,小于等于2100年。 需要考慮閏年、大小月的情況。所謂閏年,能被4整除且不能被100整除 或 能被400整除的年份,閏年的2月份為29天,非閏年的2月份為28天。其他情況的合法性校驗(yàn),考生不用考慮。

  函數(shù)返回值:

  1) 如果身份證號(hào)合法,返回0;

  2) 如果身份證號(hào)長(zhǎng)度不合法,返回1;

  3) 如果身份證號(hào)第1~17位含有非數(shù)字的字符,返回2;

  4) 如果身份證號(hào)第18位既不是數(shù)字也不是英文小寫(xiě)字母x,返回3;

  5) 如果身份證號(hào)的年信息非法,返回4;

  6) 如果身份證號(hào)的月信息非法,返回5;

  7) 如果身份證號(hào)的日信息非法,返回6(請(qǐng)注意閏年的情況);

  【注】除成功的情況外,以上其他合法性判斷的優(yōu)先級(jí)依次降低。也就是說(shuō),如果判斷出長(zhǎng)度不合法,直接返回1即可,不需要再做其他合法性判斷。

  要求實(shí)現(xiàn)函數(shù):

  int verifyIDCard(char* input)

  【輸入】 char* input,表示輸入的身份證號(hào)碼字符串

  【輸出】 無(wú)

  【返回】 判斷的結(jié)果,類型為int

  示例

  1) 輸入:”511002111222”,函數(shù)返回值:1;

  2) 輸入:”511002abc123456789”,函數(shù)返回值:2;

  3) 輸入:”51100219880808123a”,函數(shù)返回值:3;

  4) 輸入:”511002188808081234”,函數(shù)返回值:4;

【2017華為認(rèn)證筆試題目】相關(guān)文章:

華為認(rèn)證筆試經(jīng)驗(yàn)04-02

2017華為認(rèn)證筆試試題練習(xí)04-02

華為筆試經(jīng)驗(yàn)及題目05-08

華為認(rèn)證筆試試題及答案04-06

華為HCNA-HNTD認(rèn)證筆試經(jīng)驗(yàn)04-05

華為hcna認(rèn)證筆試試題及答案04-04

2017華為筆試真題03-30

華為筆試經(jīng)驗(yàn)分享201703-30

華為認(rèn)證網(wǎng)絡(luò)工程師筆試經(jīng)驗(yàn)02-26