#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* 3 写一个函数,用来把一个字符串用指定的字符作为分隔符分割成若干个子串输出。
substr("abc:d:e:fghi:jk",':')输出
abc
de
fghi
jk*/
void substr( char* a,char s)
{
int i = 0;
int cal = 0;
char b[10] = {0};
while( a[i] != '\0' )
{
b[cal] = a[i];
cal++;
if (a[i] == s )
{
cal--;
b[cal] = '\0';
printf("%s\n",b);
cal = 0;
}
i++;
}
}
/*
4 写一个函数,用来返回一个字符串中重复出现的最长字串的长度及其开始地址。
输出:len=3, substr=ohi*/
int maxsubstr(char* a,char** p)
{
int i,j,k,L;
int temp,m,n,len=0,pos=0;
L=strlen(a);
for ( i=0;i<L;i++ )
{
for ( j=i+1;j<L;j++ )
{
if( a[i]==a[j] )
{
m=i+1;n=j+1;temp=1;
while(a[m]==a[n])
{
m++;n++;
temp++;
}
if(temp>len)
{
len=temp;
pos=i;
}
}
}
}
*p = a+pos;
return len;
}
int main()
{
int i;
substr("abc:d:e:fghi:jk",':');
printf("*****************************\n");
char* p=NULL;
int len=maxsubstr("qweaohiuweyowohifpw",&p);
printf("len=%d\n",len);
printf("substr=");
for( i=0;i<len;i++)
printf("%c",p[i]);
printf("\n");
return 0;
}
写一个函数,用来把一个字符串用指定的字符作为分隔符分割成若干个子串输出 | 写一个函数,用来返回一个字符串中重复出现的最长字串的长度及其开始地址
最新推荐文章于 2022-11-11 10:50:19 发布