2016年華為認證考試題及答案
華為認證考試由Prometric考試服務公司代理。華為認證不同級別與方向的認證考試項目具有不同的考試要求與流程。要獲得HCNA、HCNP、HCIE等華為認證,需參加並通過一門或多門與認證項目對應的考試。本文為大家推薦的是華為認證的上機考試題及答案,希望能給予大家幫助!
1、通過鍵盤輸入100以內正整數的加、減運算式,請編寫一個程序輸出運算結果字符串。
輸入字符串的格式為:“操作數1 運算符 操作數2”,“操作數”與“運算符”之間以一個空格隔開。
補充説明:
1. 操作數為正整數,不需要考慮計算結果溢出的情況。
2. 若輸入算式格式錯誤,輸出結果為“0”。
要求實現函數:
void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);
【輸入】 pInputStr: 輸入字符串
lInputLen: 輸入字符串長度
【輸出】 pOutputStr: 輸出字符串,空間已經開闢好,與輸入字符串等長;
【注意】只需要完成該函數功能算法,中間不需要有任何IO的輸入輸出
示例
輸入:“4 + 7” 輸出:“11”
輸入:“4 - 7” 輸出:“-3”
輸入:“9 ++ 7” 輸出:“0” 注:格式錯誤
複製代碼
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]='