#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
main()
{
char chr;
int i,j,m,p=0,q=0,n=0;
int a[4],b[4];
system("color 1E");
printf("*******************************欢迎使用此软件*********************************/n/n/n/n");
printf("★★★★★★★★★★★★★★★★★此软件为数字游戏★★★★★★★★★★★★★★★/n");
printf("游戏介绍:/n");
printf("计算机随机产生一个四位数,各位上的数字不重复,从0到9。按以下提示猜出这个四位数。/n");
printf("(1)每次猜测输入的数据给出类似的提示*A*B。/n");
printf("(2)其中A前的*代表你本次猜对了多少个数字。/n");
printf("(3)其中B前的*代表你本次猜对的数字并且位置正确的个数。/n");
printf("(4)每次只有十次机会~~/n/n/n/n/n/n");
printf("是否开始游戏?/n""请按“1”开始输入或按其他键退出!!/n");
chr=getchar();
if(chr=='1')
system("CLS");
else
exit(1);
srand((int)time(0));
l3: j=(int)(10.0*rand()/(RAND_MAX+1.0));
for (i=0;i<4;i++)
{
l1: j=(int)(10.0*rand()/(RAND_MAX+1.0));
for (m=0;m<i;m++)
{
if (j==a[m]) goto l1;
}
a[i]=j;
//printf("%d",a[i]);
}
n=10;
l4: printf("剩余次数%d/n请输入您所猜的数!!每个数字用空格隔开!/n",n);
p=0;
q=0;
l2: scanf("%d",&b[0]);
scanf("%d",&b[1]);
scanf("%d",&b[2]);
scanf("%d",&b[3]);
for(i=0;i<4;i++)
{
for (m=i+1;m<4;m++)
{
if(b[i]==b[m]||b[i]>9||b[1]<0)
{
printf("输入数字有误!!请重新输入!!/n");
goto l2;
}
}
//printf("%d",b[i]);
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(a[i]==b[j])
{
p++;
if(i==j)
{
q++;
}
}
}
}
printf("%dA%dB/n",p,q);
if(q==4){
printf("原数为%d %d %d %d/n",a[0],a[1],a[2],a[3]);
printf("恭喜您猜中此数!!/n是否重新开始游戏??/n是请按“1”继续;否请按其他键退出/n");
getchar();
chr=getchar();
if(chr=='1') {
system("CLS");
goto l3;
}
else exit(0);
}
else if (n==1)
{
printf("原数为%d %d %d %d/n",a[0],a[1],a[2],a[3]);
printf("抱歉您未猜中此数!!/n是否重新开始游戏??/n是请按“1”继续;否请按其他键退出/n");
getchar();
chr=getchar();
if(chr=='1'){
system("CLS");
goto l3;
}
else exit(0);
}
else {
n--;
goto l4;
}
}