說下華為上機考試的特點和一些注意事項:
(1)考試時長為2個小時,總共有3個題(去年是2個題,難度要比今年大些),使用的是VC 6.0;
(2)3個題目中大致第一個題是最簡單的,第三個題是最難的,這個難度只是假設你對所有的題都不熟悉而言的,所以在拿到題目過后一定要把所有題目過一遍,弄懂它們的要點,看是否有自己熟悉的題目,也做到心里有數。這算得上是我昨天筆試的時候的一個教訓吧;
(3)從服務器上下載題目下來后最好能把工程保存到在電腦重啟后不會自動還原的磁盤分區(qū)下面,這樣不致由于各種意外因素電腦重啟過后編的程序不會消失;
(4)不要改動所給函數的原型,可以自己添加函數。另外,華為提供的工程是將Main函數隱藏了的,所以自己不用再添加Main函數。
以上便是我對于這次考試了解的一些情況,下面說說我做的3個筆試題(題意我只能大概的按我的理解組織下)。
1. 從兩個數組的最后一個元素比較兩個數組中不同元素的個數,如有array1[5]={77,21,1,3,5}, array2[3]={1,3,5},從array1[4]與array2[2]比較開始,到array1[2]與array[0]比較結束。這樣得出它們不同的元素個數為0,若array1[6]={77,21,1,3,5,7},那么他們不同的元素為3。
函數原型為 int comp_array( int len1, int array1[], int len2, int array2[] );
其中,len1與len2分別為數組array1[]和array2[]的長度,函數返回值為兩個數組不同元素的個數。
以下是上題的函數實現:
comp_array
int comp_array( int len1, int array1[], int len2, int array2[] )
{
int i;
/*兩個數組最小程度*/
int min_len;
/*兩個數組不同元素的個數,初始化為0*/
int diff_num=0;
/*找出兩個數組的最小的長度*/
len1
for( i=1; i<=min_len; i++ )
{
if( array1[len1-i] != array2[len2-i] )
diff_num++;
}
return diff_num;
}
2. 約瑟夫環(huán)(待添加)
3. 字符串四則運算的實現(待添加)