设为首页 加入收藏

TOP

纯C语言:检索与周游加减乘除24源码
2014-11-23 20:25:07 来源: 作者: 【 】 浏览:8
Tags:语言 检索 周游 加减乘除 源码
#include
  
   
char op[5]={'#','+','-','*','/'};
float cal(float x,float y,int op)
{
	switch(op)
	{
	    case 1:return x+y;
        case 2:return x-y;
		case 3:return x*y;
		case 4:return x/y;
	}
}
float model1(float i,float j,float k,float t,int op1,int op2,int op3)
{
	float r1,r2,r3;
	r1=cal(i,j,op1);
	r2=cal(r1,k,op2);
	r3=cal(r2,t,op3);
	return r3;
}
float model2(float i,float j,float k,float t,int op1,int op2,int op3)
{
	float r1,r2,r3;
	r1=cal(j,k,op2);
	r2=cal(i,r1,op1);
	r3=cal(r2,t,op3);
	return r3;
}
float model3(float i,float j,float k,float t,int op1,int op2,int op3)
{
	float r1,r2,r3;
	r1=cal(k,t,op3);
	r2=cal(j,r1,op2);
	r3=cal(i,r2,op1);
	return r3;
}

float model4(float i,float j,float k,float t,int op1,int op2,int op3)
{
	float r1,r2,r3;
	r1=cal(j,k,op2);
	r2=cal(r1,t,op3);
	r3=cal(i,r2,op1);
	return r3;
}

float model5(float i,float j,float k,float t,int op1,int op2,int op3)
{
	float r1,r2,r3;
	r1=cal(i,j,op1);
	r2=cal(k,t,op3);
	r3=cal(r1,r2,op2);
	return r3;
}
int get24(int i,int j,int k,int t)
{
	int op1,op2,op3;
	int flag=0;
	for(op1=1;op1<=4;op1++)
		for(op2=1;op2<=4;op2++)
			for(op3=1;op3<=4;op3++)
			{
				if(model1(i,j,k,t,op1,op2,op3)==24)
				{
					printf("((%d%c%d)%c%d)%c%d=24\n",i,op[op1],j,op[op2],k,op[op3],t);
				    flag=1;
				}
				if(model2(i,j,k,t,op1,op2,op3)==24)
				{
					printf("(%d%c(%d%c%d))%c%d=24\n",i,op[op1],j,op[op2],k,op[op3],t);
				    flag=1;
				}
				if(model3(i,j,k,t,op1,op2,op3)==24)
				{
					printf("%d%c(%d%c(%d%c%d))=24\n",i,op[op1],j,op[op2],k,op[op3],t);
				    flag=1;
				}
				if(model4(i,j,k,t,op1,op2,op3)==24)
				{
					printf("%d%c((%d%c%d)%c%d)=24\n",i,op[op1],j,op[op2],k,op[op3],t);
				    flag=1;
				}
				if(model5(i,j,k,t,op1,op2,op3)==24)
				{
					printf("(%d%c%d)%c(%d%c%d)=24\n",i,op[op1],j,op[op2],k,op[op3],t);
				    flag=1;
				}
			}
			return flag;
}
void main()
{
	int i,j,k,t;
	printf("please input four integer(1-10)\n");
	scanf("%d%d%d%d",&i,&j,&k,&t);
	if(!get24(i,j,k,t))
		printf("sorry,the four integer cannot be calculated to get 24\n");
}

  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇纯C语言:检索与周游广度深度遍历.. 下一篇纯C语言:检索与周游遍历源码

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: