用c++编写猜数字的游戏

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:30:05
编写猜数字的小游戏,让计算机随机产生4个0-9之间的随机数,由用户来猜这4个数,每猜一次,计算机就给出形如"nAmB"的信息,n表示共猜对了n个数,m表示有m个数的位置和数字都猜对了,若用户将4个数的位置和数字都猜对了,则输出“你赢了,还继续猜吗?若8次均没有猜对,则输出”你输了,正确答案是++++,还继续吗?”用户输入y时则开始新一轮游戏,否则游戏结束。

#include <stdio.h>
#include <time.h>
main()
{
int question[4]={-1,-1,-1,-1},i=0,j=0,k=0,A=0,B=0,answer[4]={0};
char again='y';
while(again=='y')
{
srand((int)time(0));
while(i<4)
{
k=(int)rand()%10;
for(j=0;j<i;j++)
if(k==question[j])
{
k=-1;
break;
}
if(k==-1)
continue;
question[i]=k;
i++;
}/*while i*/
for(i=8;i>0;i--) /*还有8次机会*/
{
A=0;B=0;
printf("\n你还剩下%d次机会。",i);
printf("\n请输入四个0-9之间的数字,中间用空格隔开\n");
for(j=0;j<4;j++)
scanf("%d",&answer[j]);
for(j=0;j<4;j++)
for(k=0;k<4;k++)
{
if(answer[j]==question[k])
{
if(j==k) A++;
else B++;
}
}/*for*/
if(A==4)
{
again='0';
printf("\n你赢了,还继续猜吗?(y/n)");
while(again!='y'&&again!