【发布时间】:2015-03-04 23:22:00
【问题描述】:
#include <stdio.h>
int main(){
char exp[100];
char op;
int op1 = 0;
int op2 = 0;
int i = 0;
printf("Enter Expression:");
scanf("%s" , &exp);
while(*(exp+i) != '\0'){
if(i == 0)
op1 = *(exp+i++) - '0';
op = *(exp+i++) - '0';
op2 = *(exp+i++) - '0';
switch(op){
case '+': op1 = op1 + op2;
break;
case '-': opt1 = op1 - op2;
break;
case '*': opt1 = opt1 * op2;
break;
case '/': opt1 = opt1 / opt2;
break;}
printf("%d\n" , opt1);
return (1);}}
注意:此程序部门无法正常工作。
我正在尝试创建一个计算器,它可以计算多个表达式(最好是用户想要的多个):加法、减法、乘法和除法。示例:表达式 6+4*3/7-9 = 5 的值。我试图让它在严格的从左到右的评估中计算。感谢您的帮助!
【问题讨论】:
-
您有问题吗?
-
是的。如何输入两个以外的多个表达式?
-
这个问题对于 Stack Overflow 来说太宽泛了。 “通过学习 C”是唯一合理的答案。事实上,您的问题可能会在相当短的时间内结束。
-
你有它。首先在循环外设置
op1= *exp - '0'和i=1。然后在循环内反复读取op和op2。最后,在循环结束后打印op1。 -
@user3386109:是的,我也是这么想的。 OP 可能会受益于纸和铅笔并将其绘制为流程图。
标签: c arrays calculator