问题描述
- 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;
elseb=b+1;}
printf("%dA%dB",a,b);
}
for(i=0;i<4;i++)
printf("%d",answer[i]);
}
这是我编的但是很奇怪的是答案是2475
我输入2 2 5 5确得出了2a2b!
按理来说应该是2a0b的这里的判断部分该怎么写
解决方案
答案正确的呀。ABCD对应的2255中,A和D位置数字都正确,所以是2a。B的数字和A处相同,C的数字和D处相同,所以是2b。
解决方案二:
while(a!=3)
并且这行代码不妥,while(a!=4)更妥切。
解决方案三:
問題出在輸入方式:
for(i=0;i<4;i++) scanf("%d",&guess[i]);
輸入時,每個數字空白格開 就是你所想要的答案了!
解决方案四:
問題出在輸入方式:
for(i=0;i<4;i++) scanf("%d",&guess[i]);
輸入時,每個數字空白格開 就是你所想要的答案了!
解决方案五:
問題出在輸入方式:
for(i=0;i<4;i++) scanf("%d",&guess[i]);
輸入時,每個數字空白格開 就是你所想要的答案了!
解决方案六:
問題出在輸入方式:
for(i=0;i<4;i++) scanf("%d",&guess[i]);
輸入時,每個數字空白格開 就是你所想要的答案了!
解决方案七:
問題出在輸入方式:
for(i=0;i<4;i++) scanf("%d",&guess[i]);
輸入時,每個數字空白格開 就是你所想要的答案了!
解决方案八:
問題出在輸入方式:
for(i=0;i<4;i++) scanf("%d",&guess[i]);
輸入時,每個數字空白格開 就是你所想要的答案了!
解决方案九:
問題出在輸入方式:
for(i=0;i<4;i++) scanf("%d",&guess[i]);
輸入時,每個數字空白格開 就是你所想要的答案了!
解决方案十:
問題出在輸入方式:
for(i=0;i<4;i++) scanf("%d",&guess[i]);
輸入時,每個數字空白格開 就是你所想要的答案了!