24点游戏

来源:互联网 发布:苹果手机清除淘宝缓存 编辑:程序博客网 时间:2024/06/05 17:21
#include <iostream>#include<stdio.h>#include<stdlib.h>#include<string.h>using namespace std;  int  main()  {  int a; int b; int c; int d;  start:/*为go to 语句做标记*/  cout<<"请输入4个整型数据,范围在1-13之间即可"<<endl;/*按照要求逐步输入四个数据*/cout<<" 第一个数:";  cin>>a;  cout<<" 第二个数:";  cin>>b;  cout<<" 第三个数:";  cin>>c;  cout<<" 第四个数:";  cin>>d;  cout<<"输出所有算法如下:"<<endl;  if ((a<1)||(a>13)||(b<1)||(b>13)||(c<1)||(c>13)||(d<1)||(d>13))  { cout<<"输入数据超出取值范围,请重新输入"<<endl;  goto start;}                                                     /*此处使用go to 语句,其主要目的是为了满足所输入的四个整型数据的取值范控制在1-13之间,超出该范围就需要重新从键盘输入数据*/                                                              int Cal( float a, float  b , float c, float d);              /*罗列出所输入的四个数a,b,c,d的所有排列组合情况,四个数共有24中排列组合*/  Cal(a,b,d,c); Cal(a,b,c,d); Cal(a,c,d,b); Cal(a,c,b,d); Cal(a,d,b,c); Cal(a,d,c,b); Cal(b,a,c,d); Cal(b,a,d,c);Cal(b,c,a,d); Cal(b,c,d,a); Cal(b,d,c,a); Cal(b,d,a,c);  Cal(c,a,b,d); Cal(c,a,d,b); Cal(c,b,d,a); Cal(c,b,a,d);Cal(c,d,a,b); Cal(c,d,b,a); Cal(d,a,b,c); Cal(d,a,c,b);Cal(d,b,c,a); Cal(d,b,a,c); Cal(d,c,a,b); Cal(d,c,b,a);   return 0;}  int Cal( float x, float y, float z, float w)                   /*罗列出运算表达式的所有情况,在运行界面中如果有满足条件的就显示*/  {       if (x+y+z+w==24)cout<<x<<"+"<<y<<"+"<<z<<"+"<<w<<"=24"<<endl;      else if(x+y+z-w==24) cout<<x<<"+"<<y<<"+"<<z<<"-"<<w<<"=24"<<endl;      elseif((x+y)*(z+w)==24) cout<<"("<<x<<"+"<<y<<")*("<<z<<"+"<<w<<")=24"<<endl;      else if((x-y)*(z+w)==24) cout<<"("<<x<<"-"<<y<<")*("<<z<<"+"<<w<<")=24"<<endl;      elseif((x-y)*(z-w)==24) cout<<"("<<x<<"-"<<y<<")*("<<z<<"-"<<w<<")=24"<<endl;      elseif((x+y+z)*w==24) cout<<"("<<x<<"+"<<y<<"+"<<z<<")*"<<w<<"=24"<<endl;      else if((x-y-z)*w==24) cout<<"("<<x<<"-"<<y<<"-"<<z<<")*"<<w<<"=24"<<endl;      elseif((x+y-z)*w==24) cout<<"("<<x<<"+"<<y<<"-"<<z<<")*"<<w<<"=24"<<endl;      else if((x*y*z)/w==24) cout<<"("<<x<<"*"<<y<<"*"<<z<<")/"<<w<<"=24"<<endl;      elseif((x*y)*(z+w)==24) cout<<"("<<x<<"*"<<y<<")*("<<z<<"+"<<w<<")=24"<<endl;      else if((x*y)*(z-w)==24) cout<<"("<<x<<"*"<<y<<")*("<<z<<"-"<<w<<")=24"<<endl;      else if((x*y)*z-w==24) cout<<"("<<x<<"*"<<y<<")*("<<z<<")-"<<w<<"=24"<<endl;      else if((x*y)*z+w==24) cout<<"("<<x<<"*"<<y<<")*("<<z<<")+"<<w<<"=24"<<endl;      else if(x*y*z*w==24) cout<<x<<"*"<<y<<"*"<<z<<"*"<<w<<"=24"<<endl;      else if ((x+y)+(z/w)==24) cout<<"("<<x<<"+"<<y<<")+("<<z<<"/"<<w<<")"<<"=24"<<endl;      else if ((x+y)*(z/w)==24) cout<<"("<<x<<"+"<<y<<")*("<<z<<"/"<<w<<")"<<"=24"<<endl;      else if((x*y)+z+w==24) cout<<"("<<x<<"*"<<y<<")+"<<z<<"+"<<w<<"=24"<<endl;      else if ((x*y)+z-w==24) cout<<"("<<x<<"*"<<y<<")+"<<z<<"-"<<w<<"=24"<<endl;      else if((x*y)-(z/w)==24) cout<<"("<<x<<"*"<<y<<")-("<<z<<"/"<<w<<")"<<"=24"<<endl;      elseif((x*y)+(z/w)==24) cout<<"("<<x<<"*"<<y<<")-("<<z<<"/"<<w<<")"<<"=24"<<endl;      elseif((x*y)-z-w==24) cout<<"("<<x<<"*"<<y<<")-"<<z<<"-"<<w<<"=24"<<endl;      elseif((x*y)+(z*w)==24) cout<<"("<<x<<"*"<<y<<")+("<<z<<"*"<<w<<")"<<"=24"<<endl;      elseif((x*y)-(z*w)==24) cout<<"("<<x<<"*"<<y<<")-("<<z<<"*"<<w<<")"<<"=24"<<endl;      elseif((x*y)/(z*w)==24) cout<<"("<<x<<"*"<<y<<")/("<<z<<"*"<<w<<")"<<"=24"<<endl;      elseif((x*y)/(z-w)==24) cout<<"("<<x<<"*"<<y<<")/("<<z<<"-"<<w<<")"<<"=24"<<endl;      elseif((x*y)/(z+w)==24)cout<<"("<<x<<"*"<<y<<")/("<<z<<"+"<<w<<")"<<"=24"<<endl;      elsecout<<" "<<endl;        return 0; }

0 0