阿-春
春芽
共回答了20个问题采纳率:85% 举报
//猜数游戏
/*
猜数游戏:
功能一:计算机想好了一个4位无重复数字,例如:0913是可以的,
3502也是可以的,6787不可以,现在您想办法把这个数字猜出来,
每猜一个数字,计算机会根据这个数字给出几A几B,
其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
如正确答案为5234,而猜的人猜5346,则是1A2B。其中有一个5的位置对了,记为1A;n
而3和4这两个数字对了,而位置没对,因此记为2B;一共有10次机会,注意,:输入的数字不能重复。
*/
#include
#include
#include
int n=0;
int cmp(char a[],char b[])//比较
{
int s=0,i,j;
for(i=0;i<4;i++)
if(a[i]==b[i])
s++;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(b[j]==a[i]&&j!=i)
n++;
}
}
return s;
}
main()
{
srand((unsigned)time(NULL));
char a[5],b[5];
int i,j,s,k=0;
for(i=0;i<4;i++)//无重复4位数
{
a[i]=rand()%10+48;
for(j=i-1;j>=0;j--)
{
if(a[i]==a[j])
{
i--;
break;
}
}
}
a[i]='