%猜4为数字游戏
a=fix(10000*rand(1));%随机生成一个四位数;
A(1)=fix(a/1000);
A(2)=fix((a-1000*A(1))/100);
A(3)=fix((a-1000*A(1)-100*A(2))/10);
A(4)=a-1000*A(1)-100*A(2)-10*A(3);
%下面保证生成一个各位上各个单独数字不同;
while(A(1)==A(2)||A(1)==A(3)||A(1)==A(4)||A(2)==A(3)||A(2)==A(4)||A(3)==A(4)||(1000*A(1)+100*A(2)+10*A(3)+A(4))<1000)
a=fix(10000*rand(1));
A(1)=fix(a/1000);
A(2)=fix((a-1000*A(1))/100);
A(3)=fix((a-1000*A(1)-100*A(2))/10);
A(4)=a-1000*A(1)-100*A(2)-10*A(3);
end
% disp(a);
k=0;k1=0;k2=0;
while(k<10) %控制猜数次数在10次以内
disp('Input a number:');
n=input('');
N(1)=fix(n/1000);
N(2)=fix((n-1000*N(1))/100);
N(3)=fix((n-1000*N(1)-100*N(2))/10);
N(4)=n-1000*N(1)-100*N(2)-10*N(3);
k1=0;k2=0;
for i=1:4
for j=1:4
if(A(i)==N(j))
if((A(i)==N(j))&&(i==j))
k1=k1+1; %猜对的数字个数;
else
k2=k2+1; %猜错的数字个数
end
end
end
end
if(k1==4) %表示四个数字都猜对,这个四位数猜对成功!
fprintf('%iA\n You got it!\n',k1);
break;
end
fprintf('%iA%iB\n',k1,k2);
disp('Come on !');
k=k+1;
end
fprintf('The number is %i!\n',a);
网友评论