多项式加减法C++源码.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多项式加减法C++源码.docx

《程序设计实践》课程实验报告学号:126040594姓名:王乾帅程序名称:多项式加法一:程序源码:#includeiostream#includestringusing namespace std;int NUM=0;//全局变量,控制结构体下标,大小代表多项式的项数;int mt=0;struct Data //结构体,用来存放单个项的系数和幂,分别为x,y;{ int x; int y;};Data Da[1000];bool cmp(Data a,Data b) //为了使用sort对结构体进行排序,自定义cmp函数;{ return a.yb.y; } void run(string a); //自定义函数,用来对字符串进行处理,提取出字符串中的单个项;int main(){int i,stop,sig,sig2=0;string a,b;cout多项式加减法运算器\n请输入需要选择的运算(1加法.2减法.)\n;cinsig;cout请输入第一个多项式:;//多项式输入cina;cout请输入第二个多项式:;cinb;run(a);//处理多项式1,将数据存入结构体中;if(sig==2) mt=1;run(b);//处理多项式2;sort(Da,Da+NUM,cmp);//对结构体按照y(即单个项的幂)的大小排序for(i=0;iNUM;)//以下为输出部分{stop=i+1;//搜索幂相同的结构体,将x相加,在进行各种判断,进而输出while(Da[i].y==Da[stop].ystopNUM+1){stop++;}if(stop-i-1==0) //只搜索到一项的输出{if(Da[i].y==0){//判断输出是否为第一项,判断输出为正数还是负数,分别进行输出;if(Da[i].x0i!=0sig2==1) {cout+Da[i].x;sig2=1;}if(Da[i].x0i!=0sig2!=1) {coutDa[i].x;sig2=1;}if(Da[i].x0i==0) {coutDa[i].x;sig2=1;}if(Da[i].x0) {coutDa[i].x;sig2=1;} }else if(Da[i].y==1){if(Da[i].x1i!=0sig2==1) {cout+Da[i].x;sig2=1;coutx;}if(Da[i].x1i!=0sig2!=1) {coutDa[i].x;sig2=1;coutx;}if(Da[i].x1i==0) {coutDa[i].x;sig2=1;coutx;}if(Da[i].x==1i!=0sig2==1) {cout+;sig2=1;coutx;}if(Da[i].x==1i!=0sig2!=1) {sig2=1;coutx;}if(Da[i].x==1i==0) {sig2=1;coutx;}if(Da[i].x-1) {coutDa[i].x;sig2=1;coutx;}if(Da[i].x==-1) {cout-;sig2=1;coutx;}}else //搜索到多个项的输出{if(Da[i].x1i!=0sig2==1) {cout+Da[i].xx^Da[i].y;sig2=1;}if(Da[i].x1i!=0sig2!=1) {coutDa[i].xx^Da[i].y;sig2=1;}if(Da[i].x1i==0) {coutDa[i].xx^Da[i].y;sig2=1;}if(Da[i].x==1i!=0sig2==1) {cout+x^Da[i].y;sig2=1;}if(Da[i].x==1i!=0sig2!=1) {coutx^Da[i].y;sig2=1;}if(Da[i].x==1i==0) {coutx^Da[i].y;sig2=1;}if(Da[i].x-1) {coutDa[i].xx^Da[i].y;sig2=1;}if(Da[i].x==-1) {cout-x^Da[i].y;sig2=1;}}}else {int sum=0,j;for(j=i;jstop;j++){sum+=Da[j].x;}if(Da[i].y==0){//判断输出是否为第一项,判断输出为正数还是负数,分别进行输出;if(sum0i!=0sig2==1) {cout+sum;sig2=1;} if(sum0i!=0sig2!=1) {coutsum;sig2=1;} if(sum0i==0) {coutsum;sig2=1;} if(sum0) {coutsum;sig2=1;} }else if(Da[i].y==1){if(sum1i!=0sig2==1) {cout+sumx;sig2=1;} if(sum1i!=0

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档