2023年華為認證筆試題目_第1頁
2023年華為認證筆試題目_第2頁
2023年華為認證筆試題目_第3頁
2023年華為認證筆試題目_第4頁
2023年華為認證筆試題目_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2023華為認證筆試題目

2023華為認證筆試題目二

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

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

補充說明:

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

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

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

voidarithmetic(constchar*pInputStr,longlInputLen,char*pOutputStr);

【輸入】pInputStr:輸入字符串

lInputLen:輸入字符串長度

【輸出】pOutputStr:輸出字符串,空間已經(jīng)開拓好,與輸入字符串等長;

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

例如

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

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

輸入:“9++7”輸出:“0”注:格式錯誤

復(fù)制代碼

1voidarithmetic(constchar*pInputStr,longlInputLen,char*pOutputStr)

2{

3assert(pInputStr!=NULLpOutputStr!=NULLlInputLen0);

4intiOperand1=0;

5intiOperand2=0;

6charcSymbol;

7longi;

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

9{

10if(pInputStr[i]=0pInputStr[i]=9)

11{

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

13}

14elseif(pInputStr[i]==)

15{

16break;

17}

18else

19{

20return;

21}

22}

23

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

25{

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

27{

28cSymbol=pInputStr[i];

29}

30elseif(pInputStr[i]==)

31{

32break;

33}

34else

35{

36return;

37}

38}

39

40for(++i;i

41{

42if(pInputStr[i]=0pInputStr[i]=9)

43{

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

45}

46else

47{

48break;

49}

50}

51intiTemp;

52switch(cSymbol)

53{

54case+:

55iTemp=iOperand1+iOperand2;

56break;

57case-:

58iTemp=iOperand1-iOperand2;

59break;

60default:

61break;

62}

63

64intk=0;

65if(iTemp0)

66{

67iTemp=-iTemp;

68pOutputStr[0]=-;

69k++;

70}

71

72charcTemp[10];

73itoa(iTemp,cTemp,10);

74intj=0;

75while(cTemp[j])

76{

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

78}

79

80pOutputStr[k]=\0;

81

82}

復(fù)制代碼

2、手機號碼合法性推斷(20分)

問題描述:

我國大陸運營商的手機號碼標準格式為:國家碼+手機號碼,例如:8613912345678。特點如下:

1、長度13位;

2、以86的國家碼打頭;

3、手機號碼的每一位都是數(shù)字。

請實現(xiàn)手機號碼合法性推斷的.函數(shù)(注:考生無需關(guān)注手機號碼的真實性,也就是說諸如86123123456789這樣的手機號碼,我們也認為是合法的),要求:

1)假如手機號碼合法,返回0;

2)假如手機號碼長度不合法,返回1

3)假如手機號碼中包含非數(shù)字的字符,返回2;

4)假如手機號碼不是以86打頭的,返回3;

【注】除勝利的狀況外,以上其他合法性推斷的優(yōu)先級依次降低。也就是說,假如推斷出長度不合法,直接返回1即可,不需要再做其他合法性推斷。

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

intverifyMsisdn(char*inMsisdn)

【輸入】char*inMsisdn,表示輸入的手機號碼字符串。

【輸出】無

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

例如

輸入:inMsisdn=“869123456789“

輸出:無

返回:1

輸入:inMsisdn=“88139123456789“

輸出:無

返回:3

輸入:inMsisdn=“86139123456789“

輸出:無

返回:0

復(fù)制代碼

1intverifyMsisdn(char*inMsisdn)

2{

3assert(inMsisdn!=NULL);

4

5intiLen=strlen(inMsisdn);

6if(iLen!=13)

7{

8return1;

9}

10

11for(inti=0;i

12{

13if(inMsisdn[i]0||inMsisdn[i]9)

14{

15return2;

16}

17}

18

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

20{

21return3;

22}

23

24return0;

25

26}

復(fù)制代碼

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

問題描述:

有一字符串,里面可能包含英文字母(大寫、小寫)、數(shù)字、特別字符,現(xiàn)在需要實現(xiàn)一函數(shù),將此字符串中的元音字母選擇出來,存入另一個字符串中,并對字符串中的字母進展從小到大的排序(小寫的元音字母在前,大寫的元音字母在后,依次有序)。

說明:

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

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

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

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

voidsortVowel(char*input,char*output);

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

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

【返回】無

例如

輸入:char*input=“Abort!MayBeSomeErrorsInOutSystem.“

輸出:char*output=“aeeeooouAEIO“

復(fù)制代碼

1voidsortVowel(char*pInput,char*pOutput)

2{

3assert(pInput!=NULLpOutput!=NULL);

4

5intiLen=strlen(pInput);

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

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

8

9intiSmallCount=0;

10intiLargeCount=0;

11

12for(inti=0;i

13{

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

15{

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

17

18}

19elseif(pInput[i]==A||pInput[i]==E||pInput[i]==I||pInput[i]==O||pInput[i]==U)

20{

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

22}

23}

24

25sort(pSmall,pSmall+iSmallCount);

26sort(pLarge,pLarge+iLargeCount);

27

28intj,k=0;

29for(j=0;j

30{

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

32}

33for(j=0;j

34{

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

36}

37

38pOutput[k]=\0;

39

40delete[]pSmall;

41delete[]pLarge;

42}

復(fù)制代碼

4、我國公民的身份證號碼特點如下:

1、長度為18位;

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

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

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

例如51100219880808011x。

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

函數(shù)返回值:

1)假如身份證號合法,返回0;

2)假如身份證號長度不合法,返回1;

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

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

5)假如身份證號的年信息非法,返回4;

6)假如身份證號的月信息非法,返回5;

7)假如身份證號的日信息非法,返回6(請留意閏年的狀況);

【注】除勝利的狀況外,以上其他合法性推斷的優(yōu)先級依次降低。也就是說,假如推斷出長度不合法,直接返回1即可,不需要再做其他合法性推斷。

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論