十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#include stdio.h
成都创新互联于2013年成立,先为诸城等服务建站,诸城等地企业,进行企业商务咨询服务。为诸城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
#include stdlib.h
#include string.h
char *sub(char *s,int st,int len)
{char *s1;
int i;
s1=(char*)malloc(len);
for(i=0;ilen;i++)s1[i]=s[st+i-1];
s1[i]='\0';
return s1;
}
int main()
{int n,i,j;
char s[200];
scanf("%d%*c",n);
while(n--)
{printf("input a string:");
gets(s);
printf("i=");
scanf("%d",i);
printf("j=");
scanf("%d%*c",j);
if(i+jstrlen(s))printf("Error\n");
else printf("%s\n",sub(s,i,j));
}
return 0;
}
定义为:char *p;
完整的程序如下:
#includestdio.h
#includestring.h
void main()
{
int i;
char a[30],ch;
char *p;//这里!这里!这里!这里!这里!这里!这里!这里!这里!这里!
gets(a);//输入带空格字符的字符串,赋予字符数组变量a
ch=getchar();//输入要查找的字符赋予字符变量b
p=strchr(a,ch);//查找字符位置函数
if(p!=NULL)
printf("在字符串%s中以字符%c开始的子串为%s.\n",a,ch,p);
else
printf("在字符串%s中没找到字符%c.\n",a,ch);
}
char* search(char* str, char ch)
{
char *pmax, *p, *p1;
int max;
pmax = NULL;
max = 0;
p = str;
while(1)
{
while(*p != NULL *p !=ch) p++;
if(*p== ch)
{
for(p1=p++; *p==ch; p++);
if(p-p1 max)
{
max = p-p1;
pmax = p1;
}
}
}
return pmax;
}
c:
#include stdio.h
#include stdlib.h
#include math.h
#include string.h
int countsub(char *str, char *ss) {
int len = strlen(str), index = 0, max = 0;
int *maxStr = (int*)malloc(sizeof(int) * len);
for (index = 0; index len; ++index) {
maxStr[index] = 0;
}
index = 0;
for (int i = 0; str[i] != '\0'; ++i) {
int j = 0;
for (; ss[j] != '\0' str[i + j] != '\0' ss[j] == str[i + j]; ++j);
if (j 0 ss[j] == '\0') {
maxStr[index]++;
i += j - 1;
} else {
index++;
}
if (maxStr[index] max)
max = maxStr[index];
}
return max;
}
int main() {
char s1[1000] = { 0 }, s2[100] = { 0 };
gets(s1);
gets(s2);
printf("%d\n", countsub(s1, s2));
return 0;
}