数据结构
实验五:(串应用实验,综合性) 代码部分
代码
#include<stdio.h>
void judge_equal(char a[],char b[])
{
int i=0,flag=1;
while(a[i]!='\0'&&b[i]!='\0')
{
if(a[i]==b[i])
i++;
else
{
flag=0;
break;
}
}
if(!(a[i]=='\0'&&b[i]=='\0'))
flag=0;
if(flag==1)
printf("EQUAL\n");
else
printf("UNEQUAL\n");
}
void connect(char a[],char b[],char c[])
{
int i=0,j=0,k=0;
while(a[i]!='\0')
{
c[k]=a[i];
i++;
k++;
}
while(b[j]!='\0')
{
c[k]=b[j];
j++;
k++;
}
c[k]='\0';
}
int length(char a[])
{
int i=0;
while(a[i]!='\0')
i++;
return i;
}
bool child_string(char a[],int local,int len)
{
char b[20];
int j=0;
if(local+len-1<=length(a))
{
for(int i=local-1;i<local+len-1;i++)
{
b[j]=a[i];
j++;
}
printf("取出的子串为:");
puts(b);
return true;
}
else
{
printf("输入参数超出限度!\n");
return false;
}
}
int locate(char a[],char b[])
{
int locate=0;
if(length(a)<length(b))
return locate;
for(int i=0;i<length(a)-length(b)+1;i++)
{
if(b[0]==a[i])
{
int j;
for(j=0;j<length(b);j++)
{
if(b[j]!=a[i+j])
break;
}
if(j==length(b))
{
locate=i+1;
return locate;
}
}
}