这样可以吗
#include<stdio.h>
#include<math.h>
int main()
{
int a=123,b=45,c=67,d=8,e=9,loop=0,n,k1,k2,k3,k4,sum;
char j[]={'-','+'};
scanf("%d",&n);
if((a+b+c+d+e<n)||(a-b-c-d-e>n))
{printf("input error,input%d<=n<=%d\n",a-b-c-d-e,a+b+c+d+e);}
for(k1=0;k1<=1;k1++)
{
for(k2=0;k2<=1;k2++)
{
for(k3=0;k3<=1;k3++)
{
for(k4=0;k4<=1;k4++)
{
sum=a+pow(-1,k1+1)*b+pow(-1,k2+1)*c+pow(-1,k3+1)*d+pow(-1,k4+1)*e;
if(sum==n)
{printf("%d%c%d%c%d%c%d%c%d=%d\n",a,j[k1],b,j[k2],c,j[k3],d,j[k4],e,n);loop = 1;}
}
}
}
}
if(loop==0)
printf("impossible\n");
return 0;
}