C语言 编程@
题目一一计算器功能描述:能实现多个数据的算术运算,包括+、、/叫4个运算:;当被除数为零时,不做运算,显示错误提示;输入等号显示计算结果。例:输入1*3/5-1+6=显示...
题目一一 计算器 功能描述: 能实现多个数据的算术运算,包括+、 、/叫4 个运算:; 当被除数为零时,不做运算, 显示 错误提示; 输入等号显示计算结果。 例: 输入1*3/5-1+6= 显示i计算结果5.6; 显示被除数不能为零 输入1/0
那位大神能帮帮我 这个怎么弄啊?
十分感谢了。! 展开
那位大神能帮帮我 这个怎么弄啊?
十分感谢了。! 展开
1个回答
展开全部
你没太说清楚,默认没有括号运算
int main(){
char symb, pre_symb1='*', pre_symb2='+';
double num, temp=1, result=0;
while(1){
scanf("%lf%c", &num, &symb);
if(num==0 && pre_symb1=='/'){
printf("Float Error");
return 0;
}
if(pre_symb1=='*') temp*=num;
if(pre_symb1=='/') temp/=num;
if(symb=='+' || symb=='-' || symb=='='){
if(pre_symb2=='+') result+=temp;
if(pre_symb2=='-') result-=temp;
pre_symb2=symb;
pre_symb1='*', temp=1;
if(symb=='=') break;
}
else pre_symb1=symb;
}
printf("%lf", result);
}
追问
不行呀 算出来的答案不对
追答
哪里不对呢,输入是什么
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询