雨路IT
当前位置:首页 » it资讯

有谁能给我写一个24点扑克游戏的程序

八月 23rd, 2007 by admin



本人想了很久,但一点头绪也没有,望高手指导,  
  请给出原程序c/c++  
  谢谢!

参考文章:

  • 当当网推出超低价音像制品 欲与盗版拼价格
  • 是新潮,还是牵强---浅谈2198卡拉OK功能
  • 我常用的一些网站测评方法
  • IT族人消除电脑病保持健康之宝典
  • 我对网站统计的一些认识
  • 清除办公室里的精神污染
  • 对“T618的N大硬伤,放弃T618的理由”的...
  • 个人网站如何制作才能成功
  • 个人合作网站的出路
  • 个人创业的十个小窍门
  • 网友回答:
    发表者:zhangyv

    只能穷举了,搜旧贴关键字"24"有很多程序的。

    发表者:wabcde

    好像是海星写的:  
       
      #include   <iostream   >    
      #include   <string   >    
      #include   <cmath   >    
       
      using   namespace   std;    
       
      const   double   precision   =   1e-6;    
      const   int   count_of_number   =   4;    
      const   int   number_to_be_cal   =   24;    
       
      double   number[count_of_number];    
      string   expression[count_of_number];    
       
      bool   search(int   n)    
      {    
      if   (n   ==   1)   {    
      if   (   fabs(number[0]   -   number_to_be_cal)   <   precision   )   {    
      cout   <   <   expression[0]   <   <   endl;    
      return   true;    
      }   else   {    
      return   false;    
      }    
      }    
       
      for   (int   i   =   0;   i   <   n;   i++)   {    
      for   (int   j   =   i   +   1;   j   <   n;   j++)   {    
      double   a,   b;    
      string   expa,   expb;    
       
      a   =   number[i];    
      b   =   number[j];    
      number[j]   =   number[n   -   1];    
       
      expa   =   expression[i];    
      expb   =   expression[j];    
      expression[j]   =   expression[n   -   1];    
       
      expression[i]   =   (   +   expa   +   +   +   expb   +   );    
      number[i]   =   a   +   b;    
      if   (   search(n   -   1)   )   return   true;    
       
      expression[i]   =   (   +   expa   +   -   +   expb   +   );    
      number[i]   =   a   -   b;    
      if   (   search(n   -   1)   )   return   true;    
       
      expression[i]   =   (   +   expb   +   -   +   expa   +   );    
      number[i]   =   b   -   a;    
      if   (   search(n   -   1)   )   return   true;    
       
       
      expression[i]   =   (   +   expa   +   *   +   expb   +   );    
      number[i]   =   a   *   b;    
      if   (   search(n   -   1)   )   return   true;    
       
      if   (b   !=   0)   {    
      expression[i]   =   (   +   expa   +   /   +   expb   +   );    
      number[i]   =   a   /   b;    
      if   (   search(n   -   1)   )   return   true;    
      }    
      if   (a   !=   0)   {    
      expression[i]   =   (   +   expb   +   /   +   expa   +   );    
      number[i]   =   b   /   a;    
      if   (   search(n   -   1)   )   return   true;    
      }    
       
      number[i]   =   a;    
      number[j]   =   b;    
      expression[i]   =   expa;    
      expression[j]   =   expb;    
      }    
      }    
      return   false;    
      }    
       
      void   main()    
      {    
      for   (int   i   =   0;   i   <   count_of_number;   i++)   {    
      char   buffer[20];    
      int   x;    
      cin   >   >   x;    
      number[i]   =   x;    
      itoa(x,   buffer,   10);    
      expression[i]   =   buffer;    
      }    
       
      if   (   search(count_of_number)   )   {    
      cout   <   <   "success.   "   <   <   endl;    
      }   else   {    
      cout   <   <   "fail.   "   <   <   endl;    
      }    
      }    
     

    发表者:raceman35

     
      http://www.vchelp.net/cndevforum/subject_view.asp?subject_id=9665&forum_id=47  
       
      win32   console   in   vc6.0

    .

    Posted in noname. Edit

    发表评论