正文

猜数字游戏(解释)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(第2个4猜对了且位置也正好,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,难度蛮大的.这个问题想了好久,昨天突然有点思路,所以下午跑到图书馆写了一下午,终于有点思路.明天在改下,应该可以成功! 还有最近考研复习到线性代数,打算写一个求距阵的行列式值和求逆距阵的程序,有兴趣可以关注下..

阅读(13411) | 评论(2)


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

评论

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