数据结构_链表_稀疏多项式求值_C++实现

"head.h"


#include<iostream> #include<cmath> using namespace std; class PolyTerm { public: PolyTerm(); int coef; int exp; PolyTerm *next; }; PolyTerm::PolyTerm() { coef=exp=0; next=NULL; } class DATA { public: DATA(); void GetPoly(); void GetX(); void GetSum(); private: int GetPow(int,int); PolyTerm *head,*p; int result,x; }; DATA::DATA() { head=p=NULL; x=result=0; } void DATA::GetPoly() { cout<<"Please Input Data :"<<endl<<endl; int coef,exp; bool first=true; while(cin>>coef>>exp) { if(first) { head=new PolyTerm; head->coef=coef; head->exp=exp; p=head; first=!first; } else { p->next=new PolyTerm; p=p->next; p->coef=coef; p->exp=exp; } } cin.clear();//解除cin的异常状态 } void DATA::GetX() { cout<<"GetX Called !"<<endl<<endl; if(head==NULL) { cout<<"No Data Input !"<<endl<<endl; return; } cout<<"Please Input X :"<<endl<<endl; cin>>x; } void DATA::GetSum() { cout<<"GetSum Called !"<<endl<<endl; if(head==NULL) cout<<"sum = 0"<<endl<<endl; else { result=(head->coef)*GetPow(x,head->exp); p=head->next; while(p!=NULL) { result+=p->coef*GetPow(x,p->exp); p=p->next; } cout<<"sum = "<<result<<endl<<endl; } } int DATA::GetPow(int x,int e) { return int(pow(double(x),double(e))); }



"main.cpp"



#include"head.h" #include<iostream> using namespace std; int main() { DATA data; data.GetPoly(); data.GetX(); data.GetSum(); system("pause"); return 0; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值