欢迎来到天天文库
浏览记录
ID:52924782
大小:260.97 KB
页数:22页
时间:2020-04-01
《王牌7 C++常见面试题.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C++常见面试题王牌7C++常见面试题一、常见字符串1.写出在母串中查找子串出现次数的代码。intcount(char*str,char*substr){char*str1;char*str2;intnum=0;while(*str!=' '){str1=str;str2=s;while(*str2==*str1&&(*str2!=' ')&&(*str1!='0')){str2++;str1++;}if(*str2==' ')num++;str++;}returnnum;}2.查找第一个匹配子串位置,如果返回的是str1长度le
2、n1表示没有找到。size_tfind(char*str1,char*str2){size_ti=0;size_tlen1=strlen(str1)size_tlen2=strlen(str2);1C++从入门到精通if(len1-len2<0)returnlen1;for(;i3、en1;}3.实现strcpy函数。char*strcpy(char*dst,constchar*src){assert(dst!=NULL&&src!=NULL);char*target=dst;while(*dst++=*src++);returntarget;}4.实现字符串翻转。voidreserve(char*str){assert(str!=NULL);char*p1=str;char*p2=str-1;while(*++p2);//一般要求不能使用strlenp2-=1;while(p14、harc=*p1;*p1++=*p2;*p2--=c;}}5.实现strcmp函数。intstrcmp11(char*src,char*dst){assert(src!=0&&r!=0);while(*src==*dst&&*src!=' '){src++,dst++;}if(*src>*dst)return1;elseif(*src==*dst)return0;return-1;}6.用指针的方法,将字符串“ABCD1234efgh”前后对调显示。//不要用strlen求字符串长度,这样就没分了charstr123[]="ABCD15、234efgh";char*p1=str123;char*p2=str123-1;while(*++p2);p2-=1;while(p1#include#includechar*commanstring(charshortstring[],charlongstring6、[]){inti,j;char*substring=malloc(256);if(strstr(longstring,shortstring)!=NULL)//如果……,那么返回returnshortstring;;for(i=strlen(shortstring)-1;i>0;i--)//否则,开始循环计算{for(j=0;j<=strlen(shortstring)-i;j++){memcpy(substring,&shortstring[j],i);substring[i]=' ';if(strstr(longstring,su7、bstring)!=NULL)returnsubstring;}}returnNULL;}intmain(){char*str1=malloc(256);char*str2=malloc(256);char*comman=NULL;gets(str1);gets(str2);if(strlen(str1)>strlen(str2))//将短的字符串放前面comman=commanstring(str2,str1);elsecomman=commanstring(str1,str2);4C++常见面试题王牌7printf("thelong8、estcommanstringis:%s",comman);}8.判断一个字符串是不是回文。intIsReverseStr(char*str){inti,j;intfound=1;if(str==NUL
3、en1;}3.实现strcpy函数。char*strcpy(char*dst,constchar*src){assert(dst!=NULL&&src!=NULL);char*target=dst;while(*dst++=*src++);returntarget;}4.实现字符串翻转。voidreserve(char*str){assert(str!=NULL);char*p1=str;char*p2=str-1;while(*++p2);//一般要求不能使用strlenp2-=1;while(p14、harc=*p1;*p1++=*p2;*p2--=c;}}5.实现strcmp函数。intstrcmp11(char*src,char*dst){assert(src!=0&&r!=0);while(*src==*dst&&*src!=' '){src++,dst++;}if(*src>*dst)return1;elseif(*src==*dst)return0;return-1;}6.用指针的方法,将字符串“ABCD1234efgh”前后对调显示。//不要用strlen求字符串长度,这样就没分了charstr123[]="ABCD15、234efgh";char*p1=str123;char*p2=str123-1;while(*++p2);p2-=1;while(p1#include#includechar*commanstring(charshortstring[],charlongstring6、[]){inti,j;char*substring=malloc(256);if(strstr(longstring,shortstring)!=NULL)//如果……,那么返回returnshortstring;;for(i=strlen(shortstring)-1;i>0;i--)//否则,开始循环计算{for(j=0;j<=strlen(shortstring)-i;j++){memcpy(substring,&shortstring[j],i);substring[i]=' ';if(strstr(longstring,su7、bstring)!=NULL)returnsubstring;}}returnNULL;}intmain(){char*str1=malloc(256);char*str2=malloc(256);char*comman=NULL;gets(str1);gets(str2);if(strlen(str1)>strlen(str2))//将短的字符串放前面comman=commanstring(str2,str1);elsecomman=commanstring(str1,str2);4C++常见面试题王牌7printf("thelong8、estcommanstringis:%s",comman);}8.判断一个字符串是不是回文。intIsReverseStr(char*str){inti,j;intfound=1;if(str==NUL
4、harc=*p1;*p1++=*p2;*p2--=c;}}5.实现strcmp函数。intstrcmp11(char*src,char*dst){assert(src!=0&&r!=0);while(*src==*dst&&*src!=' '){src++,dst++;}if(*src>*dst)return1;elseif(*src==*dst)return0;return-1;}6.用指针的方法,将字符串“ABCD1234efgh”前后对调显示。//不要用strlen求字符串长度,这样就没分了charstr123[]="ABCD1
5、234efgh";char*p1=str123;char*p2=str123-1;while(*++p2);p2-=1;while(p1#include#includechar*commanstring(charshortstring[],charlongstring
6、[]){inti,j;char*substring=malloc(256);if(strstr(longstring,shortstring)!=NULL)//如果……,那么返回returnshortstring;;for(i=strlen(shortstring)-1;i>0;i--)//否则,开始循环计算{for(j=0;j<=strlen(shortstring)-i;j++){memcpy(substring,&shortstring[j],i);substring[i]=' ';if(strstr(longstring,su
7、bstring)!=NULL)returnsubstring;}}returnNULL;}intmain(){char*str1=malloc(256);char*str2=malloc(256);char*comman=NULL;gets(str1);gets(str2);if(strlen(str1)>strlen(str2))//将短的字符串放前面comman=commanstring(str2,str1);elsecomman=commanstring(str1,str2);4C++常见面试题王牌7printf("thelong
8、estcommanstringis:%s",comman);}8.判断一个字符串是不是回文。intIsReverseStr(char*str){inti,j;intfound=1;if(str==NUL
此文档下载收益归作者所有