作业帮 > 综合 > 作业

用简单的C语言实现带括号的四则运算

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/07 01:57:21
用简单的C语言实现带括号的四则运算
不要用数据库以及堆栈之类的 注意要用标准C 不用C++
完成实现带有括号的四则运算的任务,要求:
1) 在屏幕能够手动输入待运算的带有括号的四则运算式子;
2) 输入完成后,通过选择可以完成运算式的运算;.
输入是一个带有括号的四则运算表达式,输出是计算得出的正确计算结果.例如:输入:123+213-67*34+345/23*45*(34+34-345+245+567)回车,然后程序计算得出结果为:359183
考虑复杂的表达式,不可能简单吧.
#include
#include
#include
#include
#include
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