24点游戏代码

转载 2006年06月23日 15:45:00

#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>

double a[24][4];
int b[24][4];
double num1,num2,num3,num4;

void initiala()
{
    a[0][0]=num1;a[0][1]=num2;a[0][2]=num3;a[0][3]=num4;
    a[1][0]=num1;a[1][1]=num2;a[1][2]=num4;a[1][3]=num3;
    a[2][0]=num1;a[2][1]=num3;a[2][2]=num2;a[2][3]=num4;
    a[3][0]=num1;a[3][1]=num3;a[3][2]=num4;a[3][3]=num2;
    a[4][0]=num1;a[4][1]=num4;a[4][2]=num3;a[4][3]=num2;
    a[5][0]=num1;a[5][1]=num4;a[5][2]=num2;a[5][3]=num3;
    
     a[6][0]=num2;a[6][1]=num1;a[6][2]=num3;a[6][3]=num4;
     a[7][0]=num2;a[7][1]=num1;a[7][2]=num4;a[7][3]=num3;
     a[8][0]=num2;a[8][1]=num3;a[8][2]=num1;a[8][3]=num4;
     a[9][0]=num2;a[9][1]=num3;a[9][2]=num4;a[9][3]=num1;    
     a[10][0]=num2;a[10][1]=num4;a[10][2]=num3;a[10][3]=num1;
     a[11][0]=num2;a[11][1]=num4;a[11][2]=num1;a[11][3]=num3;
    
     a[12][0]=num3;a[12][1]=num1;a[12][2]=num2;a[12][3]=num4;
     a[13][0]=num3;a[13][1]=num1;a[13][2]=num4;a[13][3]=num2;
     a[14][0]=num3;a[14][1]=num2;a[14][2]=num1;a[14][3]=num4;
     a[15][0]=num3;a[15][1]=num2;a[15][2]=num4;a[15][3]=num1;   
     a[16][0]=num3;a[16][1]=num4;a[16][2]=num3;a[16][3]=num1;
     a[17][0]=num3;a[17][1]=num4;a[17][2]=num1;a[17][3]=num3;
    
     a[18][0]=num4;a[18][1]=num1;a[18][2]=num3;a[18][3]=num2;
     a[19][0]=num4;a[19][1]=num1;a[19][2]=num2;a[19][3]=num3;   
     a[20][0]=num4;a[20][1]=num2;a[20][2]=num3;a[20][3]=num1;
     a[21][0]=num4;a[21][1]=num2;a[21][2]=num1;a[21][3]=num3;
     a[22][0]=num4;a[22][1]=num3;a[22][2]=num1;a[22][3]=num2;
     a[23][0]=num4;a[23][1]=num3;a[23][2]=num2;a[23][3]=num1;    
         
}

 

void main()
{
 int i=0;
 int j=0;
 int k=0;
 int m=0;
 bool flag=false;
    double mid1,mid2,mid3;
 cout<<"输入四个数,以空格隔开(如2 7 7 10):";
 cin>>num1>>num2>>num3>>num4;
 initiala();

 for(i=0;i<24;i++)
 {
  num1=a[i][0];num2=a[i][1];num3=a[i][2];num4=a[i][3];
  for(j=1;j<5;j++)
  {
   switch(j)
   {
    case 1: mid1=num1+num2;break;
    case 2: mid1=num1-num2;break;
    case 3: mid1=num1*num2;break;
    case 4: mid1=num1/num2;break;
    default: goto loop;    
   }
   for(k=1;k<5;k++)
   {
     switch(k)
     {
         case 1: mid2=num3+mid1;break;
       case 2: mid2=mid1-num3;break;
       case 3: mid2=num3*mid1;break;
       case 4: mid2=mid1/num3;break;
        default: goto loop;    
     }
    for(m=1;m<5;m++)
    {
        switch(m)
        {
       case 1: mid3=mid2+num4;break;
          case 2: mid3=mid2-num4;break; 
          case 3: mid3=mid2*num4;break;
          case 4: mid3=mid2/num4;break;
        default: goto loop;   
        }
      if(mid3==24||mid3==-24)
       {
                 flag=true;
          goto loop;  
       }
      if((mid3==1.0/24||mid3==-1.0/24)&&m==4)
       {
                 flag=true;
          goto loop;  
       }
     }//form
   }//fork
   
  }//forj 
 }//fori
 cout<<"Second monthd"<<endl;
for(i=0;i<24;i++)        //////////////num1,num2****num3,num4
 {
     num1=a[i][0];num2=a[i][1];num3=a[i][2];num4=a[i][3];
  for(j=1;j<5;j++)
  {
   switch(j)
   {
    case 1: mid1=num1+num2;break;
    case 2: mid1=num1-num2;break;
    case 3: mid1=num1*num2;break;
    case 4: mid1=num1/num2;break;
    default: goto loop;    
   }
   for(k=1;k<5;k++)
   {
     switch(k)
     {
       case 1: mid2=num3+num4;break;
       case 2: mid2=num4-num3;break;
       case 3: mid2=num3*num4;break;
       case 4: mid2=num4/num3;break;
        default: goto loop;    
     }
    for(m=1;m<5;m++)
    {
        switch(m)
        {
       case 1: mid3=mid2+mid1;break;
          case 2: mid3=mid2-mid1;break; 
          case 3: mid3=mid2*mid1;break;
          case 4: mid3=mid2/mid1;break;
        default: goto loop;   
        }
      if(mid3==24||mid3==-24)
       {
                 flag=true;
          goto loop1;  
       }
      if((mid3==1.0/24||mid3==-1.0/24)&&m==4)
       {
                 flag=true;
          goto loop1;  
       }
     }//form
   }//fork
   
  }//forj 
 }//fori

 

loop:        //first.
 if(!flag)
  cout<<"failed!"<<endl;
 else
 {
  if(mid3==24||mid3==-24)
  {
  cout<<"/n答案是:((";
  cout<<a[i][0];
   switch(j)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
   cout<<a[i][1]<<")";
   switch(k)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
    cout<<a[i][2]<<")";
   switch(m)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
   cout<<a[i][3]<<endl;
   getchar();
  }
  else/////////////////////////////////////////////1/24/////////////////////
  {
  cout<<"/n答案是:";
  cout<<a[i][3];

     switch(m)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }

  cout<<"(("<<a[i][0];
   switch(j)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
   cout<<a[i][1]<<")";
   switch(k)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
    cout<<a[i][2]<<")"<<endl;
  
   
   getchar();
  }
  
 }
 loop1: ////////////////second ////////////////////////
     if(flag)
  {
      if(mid3==24||mid3==-24)
  {
  cout<<"/n答案是:(";
  cout<<a[i][0];
   switch(j)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
   cout<<a[i][1]<<")";
   switch(m)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
    cout<<"("<<a[i][2];
   switch(k)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
   cout<<a[i][3]<<")"<<endl;
   getchar();
  }
  else/////////////////////////////////////////////1/24/////////////////////
  {
  cout<<"/n答案是:";
  cout<<a[i][3];

     switch(m)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }

  cout<<"(("<<a[i][0];
   switch(j)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
   cout<<a[i][1]<<")";
   switch(k)
   {
    case 1: cout<<"+";break;
    case 2: cout<<"-";break;
    case 3: cout<<"*";break;
       case 4: cout<<"/";break;
      default: cout<<" ";break;
   }
    cout<<a[i][2]<<")"<<endl;
  
   
   getchar();
  }
  
  }
 getchar();
  
}

         

 

 

            

android小游戏“24点”放源码了!!

前言  在学android的时候,总觉的要做点什么才能感觉到自己在学东西,所以一个小游戏24点就打算做出来试试。为什么要做24点游戏呢?因为之前用javaSwing组件做了一个电脑版的24点,学了an...
  • ProgramChangesWorld
  • ProgramChangesWorld
  • 2015年09月18日 17:55
  • 1551

24点游戏C语言源代码

参考文章http://blog.csdn.net/mingwar/article/details/3410735 将改算法改进成C语言,并可在linux服务器上运行。同时修改为可显示所有结果...
  • as929015918
  • as929015918
  • 2016年12月07日 20:59
  • 2516

24点源代码[使用扑克牌显示]

最近做了一个24点的程序,思想是循环生成4个数的排列和11种表达式,再计算结果,如果为24则成功。  注:生成的数使用扑克牌显示。  一些关键的类如下:  1.排列组合类  2...
  • gtosky4u
  • gtosky4u
  • 2015年06月16日 10:26
  • 1213

程序员笔试笔试-典型编程题——24点游戏(java)

题目详情 “24点游戏是一种使用扑克牌来进行的益智类游戏,游戏内容是:从一副扑克牌中抽去大小王剩下52张,任意抽取4张牌,把牌面上的数(A代表1)运用加、减、乘、除和括号进行运算得出24。每...
  • love254443233
  • love254443233
  • 2013年06月05日 17:31
  • 2766

24点游戏的Matlab程序

function GUI_games24 S.fh = figure('units','pixels',... 'position',[500 500 800 200],... 'me...
  • qshbbh
  • qshbbh
  • 2013年03月17日 23:49
  • 2004

24点游戏C语言(附源代码)

在24点游戏中,随机生成4个 数,让用户对这4个数进行四则运算,对用户输入进行判断,若结果为24,则生命值不变,分数加10,将结果存入文件,并以排行榜的方式打开。 首先进行四个数的随机输出(给定的范...
  • ZE_Fun
  • ZE_Fun
  • 2017年04月12日 10:11
  • 336

扑克牌24点游戏JAVA实现

package auto; public class Point24Compare {  public static int Max = 13;  public static int Min ...
  • ranzai1986
  • ranzai1986
  • 2013年06月08日 01:17
  • 766

24点游戏-c#求解-英雄会在线编程题目

小时候挺喜欢玩24的游戏,看到这道题也特别有感情,所以,就拿它来写写吧。       中间还有个小插曲,自己写完后,就拿数据进行测试,测试过程中,就然被一组随机数据给难倒了,呵呵,程序给出可以计算出...
  • mamihong
  • mamihong
  • 2014年03月17日 10:14
  • 1822

24点游戏问题

24点游戏问题标签(空格分隔): OJ_算法1. 题目描述问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利 输入:4个1-10的数字。[数字允许重复,测试用例保证无异常数字] ...
  • u010177286
  • u010177286
  • 2016年05月28日 15:37
  • 2883

48行计算24点C语言代码(转载)

学写24点时无意中看到的非常高大上的代码。。。。。。#include #include #define SWAP(t, a, b) do {t v=a; a=b; b=v;} while (0) ...
  • r1254
  • r1254
  • 2016年02月25日 16:52
  • 1309
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:24点游戏代码
举报原因:
原因补充:

(最多只允许输入30个字)