猜数游戏 mAnB A代表位置和数字均正确B代表仅数字正确位置不对
猜错八次结束游戏那个大佬看看哪里出现问题了
#include<stdio.h>
#include<stdlib.h>
#define M 4
#define N 4
int input(int *p);
void getrand(int*, int);
int main()
{
int m=0,n=0,i,j,count;
for(count=0;count<9;count++)
{
int a[N],b[M];
input(&b[0]);
getrand(a,M);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(i==j&&a[i]==b[j])
{
m++;
}
else if(i!=j&&a[i]==b[j])
{
n++;
}
else
{
break;
}
}
}
if(m==0&&n==0)
{
printf("猜错了,0A0B\n");
}
else if(m==4&&n==0)
{
printf("恭喜,猜对了!\n");
}
else
{
printf("猜错了,mAnB\n",m,n);
}
}
printf("游戏结束\n");
}
void getrand(int*a, int n)
{int i=1,j,k;
a[0]=rand()%10;
while(i<M)
{
k=rand()%10;
for(j=0;j<i;j++)
if(k==a[j])
break;
if(j==i)
{
a[i]=k;
i++;
}
}
}
int input(int *p)
{
int i=0,x;
scanf_s("%d",&x);
while(x>=0&&x<=9)
{
if(i>=4)
break;
*(p+i)=x;
i++;
scanf_s("%d",&x);
}
return *(p+i);
}
猜错八次结束游戏那个大佬看看哪里出现问题了
#include<stdio.h>
#include<stdlib.h>
#define M 4
#define N 4
int input(int *p);
void getrand(int*, int);
int main()
{
int m=0,n=0,i,j,count;
for(count=0;count<9;count++)
{
int a[N],b[M];
input(&b[0]);
getrand(a,M);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(i==j&&a[i]==b[j])
{
m++;
}
else if(i!=j&&a[i]==b[j])
{
n++;
}
else
{
break;
}
}
}
if(m==0&&n==0)
{
printf("猜错了,0A0B\n");
}
else if(m==4&&n==0)
{
printf("恭喜,猜对了!\n");
}
else
{
printf("猜错了,mAnB\n",m,n);
}
}
printf("游戏结束\n");
}
void getrand(int*a, int n)
{int i=1,j,k;
a[0]=rand()%10;
while(i<M)
{
k=rand()%10;
for(j=0;j<i;j++)
if(k==a[j])
break;
if(j==i)
{
a[i]=k;
i++;
}
}
}
int input(int *p)
{
int i=0,x;
scanf_s("%d",&x);
while(x>=0&&x<=9)
{
if(i>=4)
break;
*(p+i)=x;
i++;
scanf_s("%d",&x);
}
return *(p+i);
}