c++面試編程題_第1頁(yè)
c++面試編程題_第2頁(yè)
c++面試編程題_第3頁(yè)
c++面試編程題_第4頁(yè)
c++面試編程題_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、v1.0可編輯可修改常用經(jīng)典編程例子:一個(gè)鏈表的結(jié)點(diǎn)結(jié)構(gòu)口 J已知鏈表的頭結(jié)點(diǎn)Ma也寫一個(gè)誣數(shù)把這個(gè)癱表逆序(Wil)寫一個(gè)函數(shù)找出一個(gè)整數(shù)數(shù)簿中,第二大的數(shù)(司】"“??冢┚幊虒?shí)現(xiàn)單鏈表的抽入弱程實(shí)現(xiàn)雙鏈表刪除結(jié)點(diǎn)注意它和單鏈表釉除結(jié)點(diǎn)的W況有所不同)編程實(shí)現(xiàn)雙鏈表的插入如何證明一個(gè)表是循環(huán)鏈表如何判即一個(gè)單鏈表是有環(huán)的飛(注意不能用標(biāo)志位,最多只能用兩個(gè)顆外指針)實(shí)現(xiàn)外力的出隊(duì)與;邛.String的具體實(shí)現(xiàn)判斷字符串是否為回交蹙數(shù)轉(zhuǎn)操成字符串it”函數(shù)的實(shí)現(xiàn)編程實(shí)現(xiàn)字符串轉(zhuǎn)牝?yàn)檎?,不?toiE漕寫出一個(gè)函數(shù)來模擬e什中的strstr函數(shù):該函數(shù)的返回值是主傕中字符子串的位置以

2、后的所有字符, 字符串輸出2. 2字符串翻轉(zhuǎn)3. 3字符串大小寫轉(zhuǎn)換4. 字符串連接字符串中畿I字5. 6字符串中星火的字符2 .T宇符串刪除一之.注字符串刪除二之g字符串有找£10字符串排序2.11回文數(shù)數(shù)組查找一3 與數(shù)組查找二11一個(gè)鏈表的結(jié)點(diǎn)結(jié)構(gòu)struct Nodeint data ;Node *next ;;typedef struct Node Node ;(Intel)(1)已知鏈表的頭結(jié)點(diǎn)head,寫一個(gè)函數(shù)把這個(gè)鏈表逆序Node * ReverseList(Node *head) 文件的內(nèi)容如下:#include<>#include<>ch

3、ar *append(char *s1,char *s2)void main()char *s,*s1,*s2;s1="this is "s2="a string."s=append(s1,s2);coutvvsvvendl;【答案】char *append(char *s1,char *s2)char *tmp;int length;length=strlen(s1)+strlen(s2);tmp=new charlength+1;strcpy(tmp,s1);strcat(tmp,s2);return tmp; 字符串中的數(shù)字.簡(jiǎn)單應(yīng)用題請(qǐng)編寫一個(gè)函

4、數(shù)int CalcDigital(char *str) ,該函數(shù)可返回字符串 str中數(shù)字字符(即'0'-'9' 這10 個(gè)數(shù)字)的個(gè)數(shù),如字符串"olympic2008"中數(shù)字字符的個(gè)數(shù)為4。請(qǐng)用if條件判斷語(yǔ)句與for循環(huán)語(yǔ)句來實(shí) 現(xiàn)該函數(shù)。注意:部分源程序已存在文件中。請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù) find的花括號(hào)中填寫若干語(yǔ)句。文件的內(nèi)容如下:#include<>#include<>int CalcDigital(char *str);void main() char *str;str

5、=new char255;cout<<"輸入字符串:"cin>>str;int num=CalcDigital(str);cout<<str<<":"<<num<<endl;int CalcDigital(char *str) 【答案】int CalcDigital(char *str)if(str=NULL) return 0;int num_of_digital=0;int len=strlen(str);for(int i=0;i<len;i+)if(stri<=&

6、#39;9' && stri>='0')num_of_digital+;return num_of_digital; 字符串中最大的字符用簡(jiǎn)單應(yīng)用題請(qǐng)編寫一個(gè)函數(shù)char MaxCharacter(char * str) ,該函數(shù)返回參數(shù)str所指向的字符串中具有最大 ASCII碼的那個(gè)字符(如字符串"world"中字符'w'具有最大的ASCII碼)。當(dāng)str所指向的字符串為空時(shí),則 返回空字符0X0或'0' o輸出結(jié)果如下:Good Morning!Max char : r注意:部分源程序已存在

7、文件中。請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)MaxCharacter的花括號(hào)中填寫若干語(yǔ)句。文件的內(nèi)容如下:#include<>#include<>char MaxCharacter(char * str);void main() char str100;strcpy(str,"Good Morning!");char maxc=MaxCharacter(str);coutvvstrvvendl;cout<<"Max char:"<<maxc<<endl;char MaxCha

8、racter (char *str) 【答案】char MaxCharacter (char *str) if(str=NULL)return 0x0;char maxChar=0x0;int len=strlen(str);for(int i=0;i<len;i+) if(stri>maxChar)maxChar=stri;return maxChar;字符串刪除一用簡(jiǎn)單應(yīng)用題編寫函數(shù)fun(),該函數(shù)的功能是從字符串中刪除指定的字符,同一字母的大、小寫按不同字符處理。例如:程序執(zhí)行時(shí)輸入字符串為 turbo c and borland c+,從鍵盤上輸入字符n,則輸出后變?yōu)閠u

9、rboc ad borlad c+。如果輸入的字符在字符串中不存在,則字符串照原樣輸出。注意:部分源程序已存在文件中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù) fun的花括號(hào)中填入所編寫的若干語(yǔ)句。文件的內(nèi)容如下:#include<>#include<>#include<>void fun(char s , int c) void main() static char str尸'turbo c and borland c+"char ch;cout<<"原始字符串:n"<<str&l

10、t;<endl;coutvv"輸入一個(gè)字符:";cin>>ch;fun(str,ch);cout<<"str="<<str<<endl;【答案】void fun(char s , int c)int i=0;char *p;p=s;while(*p)if(*p!=c)si=*P;i+;P+;si='0'字符串刪除二用簡(jiǎn)單應(yīng)用題請(qǐng)編寫函數(shù)fun(),其功能是將s所指字符串中除了下標(biāo)為奇數(shù)、同時(shí) ASCII值也為奇數(shù)的字符之外,其 余的所有字符都刪除。字符串中剩余的字符所形成的一個(gè)新的字符

11、串放在t所指的數(shù)組中。例如:s所指字符串中的內(nèi)容為ABCDEFG12345其中字符A的ASCII碼值雖為奇數(shù),但元素所在的下標(biāo)為 偶數(shù),因此必需刪除;字符1的ASCII碼值為奇數(shù),所在數(shù)組中的下標(biāo)也為奇數(shù),不刪除,最后 t所指的數(shù)組 中的內(nèi)容應(yīng)是135。請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)su的花括號(hào)中填寫若干語(yǔ)句。文件的內(nèi)容如下:#include <> #include <> #include <> #include <> void fun(char *s,char t) void main() char s100,t100;

12、cout<<"Please enter string S: "<<endl;gets(s);fun(s, t); puts(t);【答案】void fun(char *s,char t) int i,j=0,n;n=strlen(s);for(i=0;i<n;i+)if(i%2!=0&&si%2!=0) tj=si;j+;tj='0' 字符串查找用簡(jiǎn)單應(yīng)用題請(qǐng)編寫一個(gè)函數(shù)int pattern_index(char substr,char str),該函數(shù)執(zhí)行含通配符 ""的字符串的查找時(shí),該

13、通配符可以與任一個(gè)字符匹配成功。當(dāng)子串 substr在str中匹配查找成功時(shí),返回子串 substr 在str中的位置,否則返回值為0。要求使用for循環(huán)實(shí)現(xiàn)。輸出結(jié)果如下:子串起始位置:5注意:部分源程序已存在文件中。請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)pattern_index的花括號(hào)中填寫若干語(yǔ)句。文件的內(nèi)容如下:#include<> int pattern_index(char substr,char str口) void main() char *substring,*string;int same;substring="gram"s

14、tring="this program return index of substring"same=pattern_index(substring,string);if(same)cout<<"子串起始位置:"<<same<<endl;elsecout<<"匹配不成功"<<endl;【答案】int pattern_index(char substr,char str口) int i,j,k;for(i=0;stri;i+)for(j=i,k=0;(strj=substrk)

15、|(substrk=");j+,k+)if(!substrk+1)return(i);return(0); 字符串排序用簡(jiǎn)單應(yīng)用題請(qǐng)編寫函數(shù)fun(),對(duì)長(zhǎng)度為7個(gè)字符的字符串,除首、尾字符外,將其余/字符按ASCII值碼降序排列。例如:原來的字符串為 CEAedcq則排序后輸出為CedcEAa注意:部分源程序已存在文件中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。文件的內(nèi)容如下:#include <>#include <>#include <>#include <>void int f

16、un(char *s, int num) void main() char s10;printf("輸入7個(gè)字符的字符串:");gets(s);fun(s,7);cout<<s; 【答案】int fun(char *s, int num)chart;int i, j;for(i=1;i<num-2;i+)for(j=i+1;j<num-1;j+)if(si<sj) t=si;si=sjsj=t; 回文數(shù)用簡(jiǎn)單應(yīng)用題請(qǐng)編寫函數(shù)fun(),該函數(shù)的功能是判斷字符串是否為回文,若是則函數(shù)返回1,主函數(shù)中輸出YE&否則返回0,主函數(shù)中輸出NQ回

17、文是指順讀和倒讀都一樣的字符串。例如:字符串LEVE是回文,而字符串123312就不是回文。注意:部分源程序已存在文件中。請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填寫若干語(yǔ)句文件的內(nèi)容如下:#include<>#include<>#define N 80int fun(char *str)void main()char sN;cout<<"Enter a string : "<<endl;gets(s);cout<<"nn"puts(s);if(fun(s)cout

18、<<"YESn"elsecout<<"NO'n"【答案】int fun(char *str)int i,n=0,fg=1;char *p=str;while(*p)n+; p+;for(i=0;i<n/2;i+)if(stri=strn-1-i);elsefg=0; break;return fg;數(shù)組查找一用簡(jiǎn)單應(yīng)用題請(qǐng)編寫一個(gè)函數(shù) int SeqSearch(int list, int start, int n, int key),該函數(shù)從 start 開始,在大小為n的數(shù)組list中查找key值,返回最先找到的

19、key值的位置,如果沒有找到則返回 -1。請(qǐng)使用for循環(huán) 實(shí)現(xiàn)。注意:部分源程序已存在文件中。請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)SeqSearch的花括號(hào)中填寫若干語(yǔ)句。文件的內(nèi)容如下:#include <>int SeqSearch(int list, int start, int n, int key) void main() int A10;int key, count=0, pos;cout<<"Enter a list of 10 integers:"for(pos=0;pos<10;pos+) cin>>Apos; cout<<"Enter a key:" cin>>key;pos=0;while( (pos=SeqSearch(A,pos,10,key)!=-1) count+;pos+; cout<<key<<" occurs "<<count<<(count!=1" times":" time")<<" in the list."<<endl;【答案】int SeqSearc

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論