一个猜数字程序,我错在哪儿了,帮看下
4位数猜测,不对就给出提示A表示位置和数字都对,B表示数字对位置不对在线等答案
#include <math.h>
#include <stdio.h>
void main(void)
{
int answer[4]={1,3,5,2},guess,a,b,times=0,i,j; /*初始化被猜答案为1352*/
printf("please guess\n");
while(a!=4)
{ /*进入猜数字循环*/
a=0;
b=0;
times++; /*猜测次数加1*/
printf("%d",times); /*显示猜测次数*/
scanf("%d",&guess); /*数取玩家输入数字*/
for(i=3;i>-1;i--)
{ /*开始循环*/
for(j=0;j<4;j++)
{
if((int)(guess/pow10(i))==answer[j])
if(i+j==3) /*如果位置相同A加1*/
a=a+1;
else
b=b+1; /*如果位置不同B加1*/
}
}
guess=guess-(int)(guess/pow10(i)*pow10(i)
} /*对比下一位猜测数字*/
printf("%dA%dB\n",a,b); /*显示本次猜测AB正确性*/
}