【每周一题】14、猜数字

来源:互联网 发布:数据分析excel面试题 编辑:程序博客网 时间:2024/05/21 05:19

/*
【每周一题】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;
}

原创粉丝点击