王贺青吧 关注:25贴子:897
  • 0回复贴,共1
#include<stdio.h>
/*
*算24点的程序
*
*/
int main()
{
int num[4];//4个数字
char sign[5]={'+','-','*','/'};//可爱的符号们
int i[3];//临时变量
int value;//已经运算的结果
int vb[2];//初始值
scanf("%d %d %d %d",&num[0],&num[1],&num[2],&num[3]);
for(i[0]=0;i[0]<4;i[0]++)
{
value=calculate(i[0],num[0],num[1]);
for(i[1]=0;i[1]<4;i[1]++)
{
vb[0]=value;
value=calculate(i[1],value,num[2]);
for(i[2]=0;i[2]<4;i[2]++)
{
vb[1]=value;
value=calculate(i[2],value,num[3]);
if(value==24)
{
printf("[ ( %d %c %d ) %c %d ] %c %d = 24 \n",num[0],sign[i[0]],num[1],sign[i[1]],num[2],sign[i[2]],num[3]);
}
value=vb[1];
}
value=vb[0];
}
value=0;
}
return 24;
}
int calculate(int sings,int value1,int value2)
{
switch(sings)
{
case 0:
return value1+value2;
break;
case 1:
return value1-value2;
break;
case 2:
return value1*value2;
break;
case 3:
return value1/value2;
break;
default:
return 0;
}
}


IP属地:上海1楼2016-06-09 16:55回复
    outstokenwa、百浪多熄被楼主禁言,将不能再进行回复