今天,一款来自《C语言经典编程282例》的猜数小游戏出场.这很适合摸鱼消遣d=====( ̄▽ ̄
谨此回馈阿史大杯茶大大——(难度可能高些,不过可以自选,我一直没过)...
上代码——
#include <bits/stdc++.h>
void guess(int n)
{
int acount,bcount,i,j,k=0,flag,a[10],b[10];
do
{
flag=0;
srand((unsigned)time(NULL));
for(i=0;i<n;i++)
a[i]=rand()%10;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(a[i]==a[j])
{
flag=1;
break;
}
}
}while(flag==1);
do
{
k++;
acount=0;
bcount=0;
printf("guess");
for(i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(a[i]==b[i])
{
acount++;
break;
}
if(a[i]==b[i]&&i!=j)
{
bcount++;
break;
}
}
printf("clue on:%d A %d B\n\n",acount,bcount);
if(acount==n)
{
if(k==1)
printf("you're the topmost rung of Fortune's ladder!!\n\n");
else if(k<=5)
printf("you're genius!!\n\n");
else if(k<=10)
printf("you're cleaver!!\n\n");
else
printf("you need try hard!!\n\n");
break;
}
}while(1);
}
main()
{
int i,n;
while(1)
{
printf("1.start game?(y/n)");
printf("2.rule");
printf("3.exit\n");
printf("please choose:");
scanf("%d",&i);
switch(i)
{
case 1:
printf("please input n:\n");
scanf("%d",&n);
guess(n);
break;
case 2:
printf("\t\tThe Rules of The Game\n");
printf("step1:Input the number of digits\n");
printf("step2:Input the number,separated by a space between two numbers\n");
printf("step3:A present location and data are correct\n");
printf("\tB Represent location is correct but data is wrong!\n");
break;
case 3:
exit(0);
default:
break;
}
}
}