#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "stdlib.h"
#include "stdio.h"
#include "math.h"
#include "graphics.h"
/*============================================================================
解密程序
============================================================================*/
int bijiao(int *a,int *b);
int quan_bu_bi_jiao(char *str1,char *str2);
int da_xie_zi_mu(char *str1,char *str2);
int main()
{
char *str1,*str2,*temp;
int flag;
printf("put the first string :");
gets(str1);
puts(str1);
printf("put the secend string :");
gets(str2);
puts(str2);
if (strlen(str1)>strlen(str2))
{
temp=str1;
str1=str2;
str2=temp;
}
flag=bijiao(str1,str2);
if (flag==1)
{
printf("yes");
}
else
{
printf("no");
}
getch();
}
int bijiao(int *str1,int *str2)
{
int i,j,flag;
for (i=0;i<strlen(str1);i++)
{
if(str1[i]>='a'&&str1[i]<='z') //为什么这条语句他死活都不执行啊,我的目的是判断他有没有小写字母
{
flag=quan_bu_bi_jiao(str1,str2);//如果有小写字母那就要全部比较
return flag;
}
}
flag=da_xie_zi_mu(str1,str2);//都是大写字母
return flag;
}
int quan_bu_bi_jiao(char *str1,char *str2)
{
int i,j,b,flag;
for(i=0;i<strlen(str2)-strlen(str1);i++)
{
while(str1!=NULL)
{
if (*str1==*str2)
{
str1++;
str2++;
b++;
flag=1;
}
else
{
i=b;//b的作用是:如果执行到这步的时候不匹配而且乘下的字符不足str1的长度,就不在继续向下做
b++;
flag=0;
continue;
}
}
}
return flag;
}
int da_xie_zi_mu(char *str1,char *str2)
{
int i,j=0,b=0,flag;
while(str1[j]!=NULL)
{
for (i=b;i<strlen(str2);i++)
{
if (str1[j]==str2[i])
{
j++;
b=i;//循环从当前这步走下去,匹配后面的单词
flag=1;
break;
}
else
{
flag=0;
return flag;
}
}
}
return flag;
}