本实验模拟DFA识别含相继3个1的二进制串
DFA状态转换图如下:
核心代码如下,其中状态转换图中的ABCD状态对应代码中各个函数。
int A(char str[],int Num)//开始状态
{
if(str[Num]=='0')
{
if(A(str,Num+1)==1)
return 1;
else
return 0;
}
else if(str[Num]=='1')
{
if(B(str,Num+1)==1)
return 1;
else
return 0;
}
else
return 0;
}
int B(char str[],int Num)//识别了一个1
{
if(str[Num]=='0')
{
if(A(str,Num+1)==1)
return 1;
else
return 0;
}
else if(str[Num]=='1')
{
if(C(str,Num+1)==1)
return 1;
else
return 0;
}
else
return 0;
}
int C(char str[