加个循环应该自己就会的啊
int num[5]={0};
char symbol[5];
int n=0;
int chaozuo2(int a[5],char zhan2[4]){
int i,j,k;
k=a[1];
for(i=1;i<=3;i++){
//最后一句是重点
switch(zhan2[i]){
case '+':k=k+a[i+1];break;
case '-':k=k-a[i+1];break;
case '*':k=k*a[i+1];break;
case '/':k=k/a[i+1];break;
}
}
if(k==24){
n++;
printf("((%d%c%d)%c%d)%c%d\n",a[1],zhan2[1],a[2],zhan2[2],a[3],zhan2[3],a[4]);
}
return 0;
}
int chaozuo1(int a[5]){
int i,j,t;
int b[9];
char zhan1[4];
for(i=1;i<=4;i++)
for(j=1;j<=4;j++){
for(t=1;t<=4;t++){
zhan1[1]=symbol[i];
zhan1[2]=symbol[j];
zhan1[3]=symbol[t];
chaozuo2(a,zhan1);
}
}
b[1]=(a[1]*a[2])+(a[3]*a[4]);
if(b[1]==24){n++;printf("(%d*%d)+(%d*%d)\n",a[1],a[2],a[3],a[4]);}
b[1]=(a[1]*a[2])-(a[3]*a[4]);
if(b[2]==24){n++;printf("(%d*%d)-(%d*%d)\n",a[1],a[2],a[3],a[4]);}
b[1]=(a[1]/a[2])+(a[3]/a[4]);
if(b[3]==24){n++;printf("(%d/%d)+(%d/%d)\n",a[1],a[2],a[3],a[4]);}
b[1]=(a[1]/a[2])-(a[3]/a[4]);
if(b[4]==24){n++;printf("(%d/%d)-(%d/%d)\n",a[1],a[2],a[3],a[4]);}
b[1]=(a[1]*a[2])+(a[3]/a[4]);
if(b[5]==24){n++;printf("(%d*%d)+(%d/%d)\n",a[1],a[2],a[3],a[4]);}
b[1]=(a[1]*a[2])-(a[3]/a[4]);
if(b[6]==24){n++;printf("(%d*%d)-(%d/%d)\n",a[1],a[2],a[3],a[4]);}
b[1]=(a[1]/a[2])+(a[3]*a[4]);
if(b[7]==24){n++;printf("(%d/%d)+(%d*%d)\n",a[1],a[2],a[3],a[4]);}
b[1]=(a[1]/a[2])-(a[3]*a[4]);
if(b[8]==24){n++;printf("(%d/%d)-(%d*%d)\n",a[1],a[2],a[3],a[4]);}
return 0;
}
int main(int argc, char *argv[])
{ int i,j,t,k;
int a[5];
symbol[1]='+';symbol[2]='-';
symbol[3]='*';symbol[4]='/';
for(i=1;i<=4;i++)
cin>>num[i];
for(i=1;i<=4;i++)
for(j=1;j<=4;j++){
if(j==i)
continue;
for(t=1;t<=4;t++){
if(t==i||t==j)
continue;
for(k=1;k<=4;k++){
if(k==i||k==j||k==t)
continue;
a[1]=num[i];
a[2]=num[j];
a[3]=num[t];
a[4]=num[k];
chaozuo1(a);
}
}
}
while(1);//////////////////////////这里
return 0;
}