c语言中的BODMAS计算
嗨,我正试图用C写一个代码来解决基于博德马斯规则的数学方程,有什么建议吗? 例如: 程序应给出如下输出: (8+8)/2+4=12 内部计算(字符*exp\U str){ 文件*fp; int ret; fp=fopen(“计算辅助c”,“w”); fprintf(fp,“int main(){return%s;}”,exp_str); fclose(fp); 系统(“gcc calc_aux.c-o calc_aux.exe”); ret=系统(“calc_aux.exe”); 删除(“计算辅助c”); 删除(“calc_aux.exe”); 返回ret; } int main(){ 字符exp[]=“(8+8)/2+4”; printf(“%s=%d\n”,exp,calc(exp)); } //结果:(8+8)/2+4=12c语言中的BODMAS计算,c,C,嗨,我正试图用C写一个代码来解决基于博德马斯规则的数学方程,有什么建议吗? 例如: 程序应给出如下输出: (8+8)/2+4=12 内部计算(字符*exp\U str){ 文件*fp; int ret; fp=fopen(“计算辅助c”,“w”); fprintf(fp,“int main(){return%s;}”,exp_str); fclose(fp); 系统(“gcc calc_aux.c-o calc_aux.exe”); ret=系统(“calc_aux.exe”); 删除(“计算辅
具体是什么建议?建议:不要使用C.thnx,因为它可以工作,但是你能不能也写评论,这样我就可以更清楚地了解程序是如何工作的functioning@AshishKarna,请看注释中还链接了calc函数。
#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