参考文章http://blog.csdn.net/mingwar/article/details/3410735
将算法实现改成C语言,并可在linux服务器上运行。同时修改为可显示所有结果。
注:如果传参重复,如4,4,7,7这样,会回显重复结果,暂无法清除。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
const double PRECISION = 1E-6;
#define COUNT 4
const int RESULT = 24;
#define STRLEN 50
double number[COUNT] = {
0}; //这里一定要用double,
char expression[COUNT][STRLEN] = {
0}; //保存表达式
#define TRUE 1
#define FALSE 0
int cnt = 0;
void Test(int n)
{
int i = 0;
int j = 0;
int len = 0;
//递归结束
if(1 == n){
if(number[0] == RESULT)
{
// 避免输出前后括号