topfree131(白日?做夢!) ( ) 信譽:100 2006-4-17 10:18:33 得分: 0
有乙個陣列a[1000]存放0--1000;要求每隔二個數刪掉乙個數,到末尾時迴圈至開頭繼續進行,求最後乙個被刪掉
的數的原始下標位置。
以7個數為例:
0-->1-->2(刪除)-->3-->4-->5(刪除)-->6-->7-->0(刪除),如此迴圈直到最後乙個
數被刪除。
方法1:陣列
#include
using namespace std;
#define null 1000
int main()
while(arr[j]==null)
j=(++j)%1000;
cout }方法2:鍊錶 #include using namespace std; #define null 0 struct node ; int main() head->next=p; while(p!=p->next) cout
return 0; } 方法3:通用演算法 #include #define maxline 1000 //元素個數 /* maxline 元素個數 a 元素陣列 r 指標場 suffix 下標 index 返回最後的下標序號 values 返回最後的下標對應的值 start 從第幾個開始 k 間隔 */ int find_n(int a,int r,int k,int& index,int& values,int s=0) else while(r[front_node]!=front_node) int main(void) r[i-1]=0; find_n(a,r,k,index,values,2); printf("the value is %d,%d\n",index,values); return 0; } 試題: void test2() strcpy( string, str1 ); } 解答:對試題2,如果面試者指出字元陣列str1不能在陣列內結束可以給3分;如果面試者指出strcpy(string, str1)呼叫使得從str1記憶體起複製到string記憶體起所複製的位元組數具有不確定性可以給7分,在此基礎上指出庫函 數strcpy工作方式的給10分; str1不能在陣列內結束:因為str1的儲存為:,沒有'\0'(字串結束符),所以不能結束 strcpy( char *s1,char *s2)他的工作原理是,掃瞄s2指向的記憶體,逐個字元付到s1所指向的記憶體,直到碰 到'\0',因為str1結尾沒有'\0',所以具有不確定性,不知道他後面還會付什麼東東。 正確應如下 void test2() str[i]='\0';//加上結束符 strcpy( string, str1 ); } 第二個code題是實現strcmp int strcmp(const char *str1, const char *str2) 做是做對了,沒有抄搞,比較亂 int strcmp(const char *str1, const char *str2) if (*str1 && *str2) return (*str1-*str2); elseif (*str1 && *str2==0) return 1; elseif (*str1 = = 0 && *str2) return -1; else return 0; } int strcmp(const char *str1, const char *str2) 第三個code題是實現子串定位 int findsubstr(const char *mainstr, const char *substr) 做是做對了,沒有抄搞,比較亂 int mystrstr(const char* mainstr, const char* substr) mainstr ++; } return -1; } 分析: int arr = ; int *ptr = arr; *(ptr++)+=123; printf(「 %d %d 」, *ptr, *(++ptr)); 輸出:8 8 過程:對於*(ptr++)+=123;先做加法6+123,然後++,指標指向7;對於printf(「 %d %d 」, *ptr, *(++ptr)); 從後往前執行,指標先++,指向8,然後輸出8,緊接著再輸出8 華為全套完整試題 高階題6、已知乙個單向鍊錶的頭,請寫出刪除其某乙個結點的演算法,要求,先找到此結點,然後刪除。 slnodetype *delete(slnodetype *head,int key){}中if(head->number==key) 五 編寫strcpy函式 10分 已知strcpy函式的原型是 char strcpy char strdest,const char strsrc 其中strdest是目的字串,strsrc是源字串。1 不呼叫c c的字串庫函式,請編寫函式 strcpy char strcpy char strd... c c 程式設計面試題07 c語言 c 程式設計面試題集錦 第七部分 1.介紹一下stl,詳細說明stl如何實現vector.answer stl 標準模版庫,standard template library.它由容器演算法迭代器組成。stl有以下的一些優點 可以方便容易地實現搜尋資料或對資料排序... 4.在什麼時候需要使用 常引用 如果既要利用引用提高程式的效率,又要保護傳遞給函式的資料不在函式中被改變,就應使用常引用。常引用宣告方式 const 型別識別符號 引用名 目標變數名 例1int a const int ra a ra 1 錯誤 a 1 正確 例2string foo void ba...C C 語言程式設計筆試面試題
c c 程式設計面試題
C C 筆試面試題目彙總