正文

猜数字游戏(解释)2006-07-25 20:11:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/16825.html

分享到:

随机给4个数字,要求是4个数字的范围0-9且各不相同,但有顺序。要你猜这4个数字。如果你猜的数字中一个数字和给的数字相同且位置相同就得一个A,如果猜对了数字但位置不对就得一个B. 比如给的数字是7 4 8 2而你猜的是5 4 2 6你就可以得到一个1A1B(第24猜对了且位置也正好,2则位置没有猜对)。

附:电脑出数字,你来猜.

#include <iostream.h>

int main()

{

    int a[4],b[4];

    int i=0,j,k,flag;

    int A,B;

    //用了一个flag变量,等于1表示随机已经产生过了

       i=0;

       while(i<4)

       {

           flag=0;

           k=rand()%10;

           for(j=0;j<i;j++)

           if(a[j]==k)

              flag=1;

           if(flag==0) {a[i]=k;i++;}

       }

    while(1)

    {

       A=0,B=0;

       for(i=0;i<4;i++)

       cin>>b[i];

       for(i=0;i<4;i++)

       for(j=0;j<4;j++)

       {

           if(a[i]==b[j] && i==j)

              A++;

           if(a[i]==b[j] && i!=j)

              B++;

       }

       if(A==4) {cout<<"prefect"<<endl; return 0;}

       cout<<A<<"A"<<B<<"B"<<endl;

    }

}

 

 

PS: 前面2贴是刚刚相反的思路,想设计一个程序.它的作用是你先想4个数字,要电脑猜.电脑猜4个数字你评价(给多少A,B).

还是很要AI,难度蛮大的.这个问题想了好久,昨天突然有点思路,所以下午跑到图书馆写了一下午,终于有点思路.明天在改下,应该可以成功!

还有最近考研复习到线性代数,打算写一个求距阵的行列式值和求逆距阵的程序,有兴趣可以关注下..

阅读(4935) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册