如何用简单的C语言实现带有括号的四则运算
答案:2 悬赏:50 手机版
解决时间 2021-02-24 18:22
- 提问者网友:我们很暧昧
- 2021-02-24 08:49
如何用简单的C语言实现带有括号的四则运算
最佳答案
- 五星知识达人网友:woshuo
- 2021-02-24 09:30
考虑复杂的表达式,不可能简单吧.#include <stdlib.h>#include <math.h>#include <conio.h>#include <stdio.h>#include <string.h>void SplitK(char *str);void SplitPrem(char *str);void Combine(float f1,char Operate,float f2);void StringBracket(char *str);char str1[100],str2[100],str3[100],sub_str1[100],sub_str2[100],sub_str3[20];char sub_str31[20],sub_str32[20],str_4[100],operate;int pause=0,left=0,k1,k2,k3;float f1=0.0,f2=0.0, f=0.0;void main(){ float temp; printf(Please input a description :\n); scanf(%s,&str1); SplitK(str1); temp=atof(str1); printf(description value is %.2f\n,temp);}void SplitK(char *str){ int i,j,k,l,jk; left=0; while(*str) { if(*str == '(') left++; str++; } str2[0]='\0'; str3[0]='\0'; if(left>0) { StringBracket(str1); j=strlen(str1); for( i=0; i<j; i++) { if(str1[i]== '(') { jk=0; for( k=i; k<j; k++) { if(str1[k]== ')') break; for( l=i+1; l<k-1; l++) {if(str1[l]== '(') } } if(jk==0) { for(l=0; l<i; l++) str2[l]=str1[l]; str2[i]='\0'; for(l=k+1; l<j; l++) str3[l-k-1]=str1[l]; str3[j-k-1]='\0'; for(l=i+1; l<=k-1; l++) str1[l-i-1]=str1[l]; str1[k-i-1]='\0'; break;} } } } SplitPrem(str1);
全部回答
- 1楼网友:玩世
- 2021-02-24 10:29
和我的回答一样,看来我也对了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯