请高手 帮助 用c 或 VB 编写 一 凑数问题 具体问题如下…………
编写一程序,从键盘输入数字R,计算机自动检查在下列算式的()中能否天上“+”或“—”凑成相应的等式。如能凑成,则打印出这些算式;如凑不成,则给出信息“NO answer!”1()2()3()4()5()6()7()8()9=R
给你一个:
#include "stdio.h"
void main()
{ int t;
int i1,i2,i3,i4,i5,i6,i7,i8;
int r1,r2,r3,r4,r5,r6,r7,r8;
char c1,c2,c3,c4,c5,c6,c7,c8;
int mark=0;
scanf("%d",&t);
for(i1=0;i1<2;i1++){/*for1*/
if(i1==0)
r1=1+2;
else
r1=1-2;
if(i1==0)
c1='+';
else
c1='-';
for(i2=0;i2<2;i2++){/*for2*/
if(i2==0)
r2=r1+3;
else
r2=r1-3;
if(i2==0)
c2='+';
else
c2='-';
for(i3=0;i3<2;i3++){/*for3*/
if(i3==0)
r3=r2+4;
else
r3=r2-4;
if(i3==0)
c3='+';
else
c3='-';
for(i4=0;i4<2;i4++){/*for4*/
if(i4==0)
r4=r3+5;
else
r4=r3-5;
if(i4==0)
c4='+';
else
c4='-';
for(i5=0;i5<2;i5++){/*for5*/
if(i5==0)
r5=r4+6;
else
r5=r4-6;
if(i5==0)
c5='+';
else
c5='-';
for(i6=0;i6<2;i6++){/*for6*/
if(i6==0)
r6=r5+7;
else
r6=r5-7;
if(i6==0)
c6='+';
else
c6='-';
for(i7=0;i7<2;i7++){/*for7*/
if(i7==0)
r7=r6+8;
else
r7=r6-8;
if(i7==0)
c7='+';
else
c7='-';
for(i8=0;i8<2;i8++){/*for8*/
if(i8==0)
r8=r7+9;
else
r8=r7-9;
if(i8==0)
c8='+';
else
c8='-';
if(r8==t) {
printf("1(%c)2(%c)3(%c)4(%c)5(%c)6(%c)7(%c)8(%c)9=%d\n",c1,c2,c3,c4,c5,c6,c7,c8,t);
mark=1;
}
}/*for8*/
}/*for7*/
}/*for6*/
}/*for5*/
}/*for4*/
}/*for3*/
}/*for2*/
}/*for1*/
if(mark==0)
printf("NO answer!");
}