用c语言实现数学多项式的计算

#include"stdio.h"                                                                                          
#include"stdlib.h"                                                                                         
#include"calc.h"                                                                                           
#include <math.h>                                                                                          
#define POW 1                                                                                              
#define MUL 2                                                                                              
#define DIV 3                                                                                              
#define MOD 4                                                                                              
#define DIV_INT 5                                                                                          
#define ADD 6                                                                                              
#define SUB 7                                                                                              
#define MOVEL 8                                                                                            
#define MOVER 9                                                                                            
#define BIG 10                                                                                             
#define SML 11                                                                                             
#define BIG_EQAUL 12                                                                                       
#define SML_EQAUL 13                                                                                       
#define NOT 14                                                                                             
#define EQAUL 15                                                                                           
#define BIT_AND 16                                                                                         
#define DIFFER_OR 17                                                                                       
#define BIT_OR 18                                                                                          
#define AND 19                                                                                             
#define OR 20                                                                                              
#define Lp  21                                                                                             
#define Rp  22                                                                                             
#define END 23                                                                                             
#define OPSUM 23                                                                                           
#define Epsilon 0                                                                                                                                                                          
int ch_char_int(char *data);                                                                               
int ch_int_char(int data,char *parm);                                                                      
float eval(char tag,float left,float right);                                                               
int   getToken(float *nump,char *box,int *state);                                                            
int   instead(char *box,char *express,int x1,int x2,int x3, int x4);                                         
float express_calc(char *box);                                                                             
/*-------------------------------运算符号的优先级的设置--------------------------------*/                  
int osp[23] = {13,11,11,11,11,10,10,9,9,8,8,8,8,7,7,6,5,4,3,2,13,1,1};                                     
int isp[21] = {12,11,11,11,11,10,10,9,9,8,8,8,8,7,7,6,5,4,3,2,1};//主要是为了"("来设置的。                                                                                                                       
struct                                                                                                     
{                                                                                                          
 char op[2];                                                                                           
 int code;                                                                                             
}opchTbl[24] =                                                                                             
{                                                                                                          
{ {'*','/0'},MUL},//11                                                                                      
{ {'/','/0'},DIV},//11                                                                                      
{ {'%','/0'},MOD},//11                                                                                      
{ {'/','/'},DIV_INT},//11                                                                                   
{ {'+','/0'},ADD},//10                                                                                      
{ {'-','/0'},SUB},//10                                                                                      
{ {'<','<'},MOVEL},//9                                                                                      
{ {'>','>'},MOVER},//9                                                                                      
{ {'>','/0'},BIG},//8                                                                                       
{ {'<','/0'},SML},//8                                                                                       
{ {'>','='},BIG_EQAUL},// 8                                                                                 
{ {'<','='},SML_EQAUL},// 8                                                                                 
{ {'!','='},NOT},// 7                                                                                       
{ {'=','='},EQAUL},// 7                                                                                     
{ {'&','/0'},BIT_AND},//6                                                                                   
{ {'^','/0'},DIFFER_OR},//5                                                                                 
{ {'|','/0'},BIT_OR},//4                                                                                    
{ {'&','&'},AND},// 3                                                                                       
{ {'|','|'},OR},// 2                                                                                        
{ {'(','/0'},Lp},//13                                                                                       
{ {')','/0'},Rp},/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值