您的位置 首页 软件

C言语试题大全一

1写一函数,实现删除字符串str1中含有的字符串str2*用递归做*voiddeletesubstr(char*str1,constchar*str2){intlen

1. 写一函数,完成删去字符串str1中含有的字符串str2.

/* 用递归做 */
void deletesubstr(char* str1, const char* str2)
{
int len=strlen(str1);
char* newstr;
char* sp;
if(str1==NULL||str2==NULL)
return;
if(strlen(str1) return;
if(sp=strstr(str1,str2))
{
newstr=malloc(len+1);
strncpy(newstr,str,sp-str);
strcpy(newstr+(sp-str),sp+strlen(str2));
strcpy(str1,newstr);
free(newstr);
deletesubstr(str1,str2);
}
else
return;
}

2.yahoo笔试题(字符串操作)
给定字符串A和B,输出A和B中的最大公共子串。
比方A=”aocdfe” B=”pmcdfa” 则输出”cdf”

答案:
//Author: azhen
#include
#include
#include

char *commanstring(char shortstring[], char longstring[])
{
int i, j;

char *substring=malloc(strlen(shortstring)+1);

if(strstr(longstring, shortstring)!=NULL) //假如……,那么回来shortstring
return shortstring;

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, substring)!=NULL)
return substring;
}
}
return NULL;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/260203.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部