程序模拟简单运算器工作:输入一个算式,遇到“=”说明输入结束,输出结果。4种运算符的优先级都相同。

来源:百度知道 编辑:UC知道 时间:2024/05/25 00:56:53
用C语言编写 程序模拟简单运算器工作:输入一个算式,遇到“=”说明输入结束,输出结果。假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级都相同按从左到右的顺序计算。例如输入“1+2*10-10/2="后输出10
4种运算符的优先级都相同按从左到右的顺序计算。例如输入“1+2*10-10/2="后输出10

给,已经编译运行确认:
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int tops = 0;
int topn = -1;
char cal[256] = {'0'};
char sym[128] = {'#'};
double num[128] = {0.0};

/*判断运算符优先级*/
int compare(char symbol)
{
int jud = 0;

switch (symbol)
{
case '(':
jud = 1;
break;
case '*':
case '/':
jud = sym[tops] == '/'?-1:1;
break;
case ')':
jud = 0;
break;
case '+':
case '-':
jud = (sym[to