69,369
社区成员
发帖
与我相关
我的任务
分享
// B_1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<stdio.h>
int exch[4][2]={1,2,3,2,1,3,3,3};//这个是2维数组吗?具体是怎么样的
void judge(char *s)
{
int cur = 0, i = 0;
while(s[i])
{
if(s[i]-'a' > 1||s[i] < 'a')
break;
cur=exch[cur][ s[i++] - 'a'];//这一句怎么理解?
}
if(s[i] == 0 && cur == 3)
printf("%s √ Right!\n\n",s);
else printf("%s × Wrong!\n\n",s);
}
void main()
{
char str[100];
while(1)
{
printf("有限自动机,判断是否符合 (a|b)*(aa|bb)(a|b)*正则式\n");
printf("请输入字符串: ");
gets(str);
judge(str);
}
}