#include<stdio.h>
char t[100]={' '};
char prog[100];
char ch;
int i,p;
main(){
char ch;
char en;
char t[100],get[100],cv[100],ci[100];
int c,i,z,j,p,n,count;
printf(" Please input :");
count=0;
do{
ch=getchar();
t[count++]=ch;
}while(ch!='#');
count--;
p=0;
c=1;
z=0;
en='Y';
for(i=0;i<count;i++)
{
if(t[i]=='|')
{
for(j=0;j<i;j++)
{
prog[j]=t[j];
if(prog[j]=='.'){
printf("f(%d,%c)=%d
",z,t[j-1],c);
printf("f(%d,%c)=%c
",c,t[j+1],en);
}
else if(prog[j]=='*'){
printf("f(%d,~)=%d
",z,c);
printf("f(%d,~)=%c
",c,en);
}
}
z=0;
c=1;
for(j=i+1;j<count;j++)
{
cv[j]=t[j];
if(cv[j]=='.'){
printf("f(%d,%c)=%d
",z,t[j-1],c);
printf("f(%d,%c)=%c
",c,t[j+1],en);
}
else if(cv[j]=='*'){
printf("f(%d,~)=%d
",z,c);
printf("f(%d,~)=%c
",c,en);
}
}
}
}
}
我的程序仅仅识别一个符号的自动机
有待改善