C的问题.....急!!!

来源:百度知道 编辑:UC知道 时间:2024/05/10 19:22:55
题目要求:
随便输入4个数,要求程序能给出所有的算法(加减乘除,最好还能包括括号),使得4个数经过运算可以得到24点。 就是输入之后,能的话电脑给出运算过程.
谢谢了
感激ING!!!
我还在知道留了一个55分的同样的问题,一直没有人回答,请heephi去留句话,我把分给你.
问题:请教C语言做24点程序

#include <stdio.h>
int op[]={'+','-','*','/'};
char *sample[]={"ABCDxyz",
"ABCxDyz",
"ABCxyDz",
"ABxCyDz",
"ABxCDyz"};
char *format[]={"%d%c(%d%c(%d%c%d))",
"%d%c((%d%c%d)%c%d)",
"(%d%c(%d%c%d))%c%d",
"((%d%c%d)%c%d)%c%d",
"(%d%c%d)%c(%d%c%d)"};
//////////////////////////////////////////////////////////////////////////

int calculate(int **ipt[],char *s)
{
int st[4],i,j,r1,r2;
for (j=i=0;i<7;i++)
{
if (s[i]>='A'&&s[i]<='D')
st[j++]=**ipt[s[i]-'A'];
else
{
r1=st[j-2];
r2=st[j-1];
switch(**ipt[s[i]-'x'+4])
{
case '+':
st[j-2]=r1+r2;
j--;
break;
case '-':
if(r