#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;
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;
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;
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
cout<<" "<<endl;
return 0;
}
24点游戏
最新推荐文章于 2021-06-15 13:44:27 发布