jj.c
来自「编译原理 一个简单自动机的源程序 判断一个输入的串能否被该自动机接受」· C语言 代码 · 共 53 行
C
53 行
#include<stdio.h>
void main()
{
int c[4][2]={{1,2},{3,2},{1,3},{3,3}};
char str[30];
char *p=str;
int q[30];
int i,j,h,k=0;
printf("please input a strings with a and b:\n");
scanf("%s",p);
while(*p)
{
if((*p)!='a'&&(*p)!='b'&&(*p)!='\0')
{
printf("please input a strings with a and b:\n");
scanf("%s",p);
}
else
{}
p++;
}
p=str;
while(*p)
{
if(*p=='a')
{
q[k]=0;
}
else
q[k]=1;
p++;
k++;
}
i=c[0][q[0]];
h=1;
while (k>1)
{
i=c[i][q[h]];
j=i;
h++;
k--;
}
if(j==3)
{
printf("can accept!");
}
else
printf("not accept!");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?