b中的BODMAS计算

时间:2012-06-24 11:47:59

标签: c

您好我正在尝试用C编写代码来解决基于BODMAS规则的数学方程式,有什么建议吗? 例如: 程序应该输出如下: (8 + 8)/ 2 + 4 = 12

1 个答案:

答案 0 :(得分:0)

#include <stdio.h>

int calc(char *exp_str){
    FILE *fp;
    int ret;
    fp=fopen("calc_aux.c","w");
    fprintf(fp, "int main(){ return %s; }", exp_str);
    fclose(fp);
    system("gcc calc_aux.c -o calc_aux.exe");
    ret=system("calc_aux.exe");
    remove("calc_aux.c");
    remove("calc_aux.exe");
    return ret;
}

int main(){
    char exp[]="(8+8)/2+4";
    printf("%s=%d\n", exp, calc(exp));
}
//result:(8+8)/2+4=12