C语言 编程@

题目一一计算器功能描述:能实现多个数据的算术运算,包括+、、/叫4个运算:;当被除数为零时,不做运算,显示错误提示;输入等号显示计算结果。例:输入1*3/5-1+6=显示... 题目一一 计算器 功能描述: 能实现多个数据的算术运算,包括+、 、/叫4 个运算:; 当被除数为零时,不做运算, 显示 错误提示; 输入等号显示计算结果。 例: 输入1*3/5-1+6= 显示i计算结果5.6; 显示被除数不能为零 输入1/0

那位大神能帮帮我 这个怎么弄啊?
十分感谢了。!
展开
 我来答
012369874521
2018-01-09 · TA获得超过135个赞
知道答主
回答量:40
采纳率:100%
帮助的人:18.6万
展开全部

你没太说清楚,默认没有括号运算

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);
}
追问
不行呀  算出来的答案不对
追答
哪里不对呢,输入是什么
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式