现有两个机器人M1和M2它们要进行对话,规则如下:
M1只会说“Y”,“N”,“2”;
M2只会说“y”,“n”,“1”;
M1先主动说话;
当一个机器人说的不是数字时,它自己必须继续说话,对方不能说话;
当一个机器人说出数字时,它自己停止说话,此时对方可以接着说话,也可以不说话从而结束对话;
编写程序判定输入的任意非空字符串是否是两个机器人对话终止时形成的串。
int exist(int flag,char x)//判断说的话与机器人是否相符
{
if(flag)//机器人
{
if(x=='Y'||x=='N'||x=='2')
return 1;
else
return 0;
}
else{
if(x=='y'||x=='n'||x=='1')
return 1;
else
return 0;
}
}
int judge(char str[])
{
int flag=1;//第一个机器人先说话
for(int i=0;str[i]!='\0';i++){
if(!exist(flag,str[i]))
return 0;
if(str[i]=='2')
flag=0;
if(str[i]=='1')
flag=1;
}
return 1;
}
int main(){
char str[100];
scanf("%s",str);//字符串不用&
if(judge(str))
printf("true");
else
printf("flase");
}
标签:11,return,int,机器人,else,flag,str,规则,字符串
From: https://blog.csdn.net/j000405/article/details/141330958