/*
【每周一题】14、猜数字
题目:
(1)由计算机“想”一个四位数,请人猜这个数是多少。
人输入四位数字后,计算机首先判断这四位数字有几位是猜对了,
并且在对的数字中又有几位位置也是对的,将结果显示出来,给人以提示,
请人再猜,直到人的猜测结果最终准确为止。(本题奖金:50金币)
(2)将以上游戏双方倒一下,请人想一个四位的整数,
计算机来猜,人给计算机提示信息,最终看计算机用几次猜出数字。(本题奖金:100金币)
*/
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int a,b,f=0,A=0,B=0;
char c[10],d[10];
int i,j;
a=abs(time(NULL)*rand()%10000);
if(a>=1000)
{
itoa(a,c,10);
}
else
{
c[0]='0';
itoa(a,c+1,10);
}
for(;f==0;)
{
scanf("%d",&b);
b%=10000;
if(b>=1000)
{
itoa(b,d,10);
}
else
{
d[0]='0';
itoa(b,d+1,10);
}
for(i=0;i<4;i++)
{
if(c[i]==d[i])
{
d[i]='*';
A++;
}
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(d[j]=='*'||d[j]=='.')
{
continue;
}
if(d[j]==c[i])
{
d[j]='.';
B++;
}
}
}
if(A==4)
{
f=1;
}
else
{
//printf("A=%d/tB=%d/n%d/n%s/t%s/n",A,B,a,c,d);
printf("A=%d/tB=%d/n",A,B);
A=0;
B=0;
}
}
printf("OK!/n");
return 0;
}
【每周一题】14、猜数字
最新推荐文章于 2022-05-12 12:37:34 发布