c 语言的问题求大神的指导

猜四位数的游戏,a表示存在且位置没错,b表示位置错了数字没错
怎么做啊,求指导#include"stdio.h"
#include"stdlib.h"
void main()
{
int answer[4],x;
int guess[4],i,j,a,b;
for(x=0;x<4;x++)
answer[x]=(int)(rand()%8+1);
while(a!=3)
{ a=0,b=0;
for(i=0;i<4;i++)
scanf("%d",&guess[i]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(guess[i]==answer[j])
{if(i==j)
a=a+1;
else

b=b+1;}
printf("%dA%dB",a,b);
}
for(i=0;i<4;i++)
printf("%d",answer[i]);
}
这是我编的但是很奇怪的是答案是2475
我输入2 2 5 5确得出了2a2b!
按理来说应该是2a0b的这里的判断部分该怎么写

查看全部
qq_29777783
BeBreave
2015/07/14 09:27
  • 语言
  • 点赞
  • 收藏
  • 回答
    私信

3个回复