简单的逻辑问题,改不出来了,求指点
#include<stdio.h>#include<conio.h>
int main()
{
int a=0,b=0,cai,answer,i,j;
int answer1[3];
int cai1[3];
printf("请输入一个被猜测的数字:");
scanf("%d",&answer);
j=10000;
for(i=0;i<=3;i++)
{
j=j/10;
answer1[i]=answer/j;
answer=answer%j;
}
for(i=0;i<=3;i++)
{
printf("%d\n",answer1[i]);
}
ex:
printf("请您猜字:");
scanf("%d",&cai);
if(cai<1000||cai>9999)
{
printf("输入错误,请重新输入!\n");
goto ex;
}
else
{
while(1)
{
j=10000;
for(i=0;i<=3;i++)
{
j=j/10;
cai1[i]=cai/j;
cai=cai%j;
}
for(i=0;i<=3;i++)
{
printf("%d\n",cai1[i]);
}
for(i=0;i<=3;i++)
{
if(answer1[i]==cai1[i])
{
a++;
continue;
}
else
{
for(j=0;j<=3;j++)
{
if(answer1[i]==cai1[j])
{
b++;
break;
}
else
continue;
}
}
}
printf("%d a%d b",a,b);
if(a==4)
{
break;
}
a=0;
b=0;
goto ex;
}
}
getch();
return 0;
}
这是一个猜字游戏,要求数字无重复,a表示位置和数值都对,b表示数值对,位置不对,可是这里有点小问题,哪位能帮忙改下,指点一下小弟问题出在哪里了