⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 用C++语言实现多项式相加,自己做的,大家多多包含,谢谢大家合作
💻 CPP
字号:
#include "iostream.h"
#include<stdio.h>

#define NULL  0

typedef struct Lnode{
	int coef,exp;       //系数,指数
	Lnode *next;
}Lnode,*Linklist;

void input(Linklist &la,Linklist &lb){
	Linklist p=la,q=lb,r;
	printf("输入多项式一的系数和指数:");
	while(1){
		scanf("%d,%d",&p->coef,&p->exp);
		if(!p->exp){
			p->next=NULL;
			break;
		}
		r=new Lnode;
		p->next=r;
		p=r;
	}
	printf("输入多项式二的指数和系数:");
	while(1){
		scanf("%d,%d",&q->coef,&q->exp);
		if(!q->exp){
			q->next=NULL;
			break;
		}
		r=new Lnode;
		q->next=r;
		q=r;
	}
}
////////////////////////////////////////////////////////////
void Add(Linklist &L,int coef,int exp){
	Linklist p=new Lnode;
	L->coef=coef;
	L->exp=exp;
	L->next=p;
	L=p;
}
/////////////////////////////////////////////////////////////
void Addpoly(Linklist la,Linklist lb,Linklist &lc){
	Linklist p=la,q=lb,r=lc=new Lnode;
	int s;
	while(p&&q){
		if(p->exp<q->exp){
			Add(r,q->coef,q->exp);
			q=q->next;
		}
		else
			if(p->exp>q->exp){
				Add(r,p->coef,p->exp);
				p=p->next;
			}
			else{
				s=p->coef+q->coef;
				if(s)
					Add(r,s,p->exp);
				p=p->next;
				q=q->next;
			}
	}
	while(p){
		Add(r,p->coef,p->exp);
		p=p->next;
	}
	while(q){
		Add(r,q->coef,q->exp);
		q=q->next;
	}
	r->next=NULL;
}

void Display(Linklist lc){
	Linklist p=lc;
	printf("两个多项式相加的结果为:");
	while(p->next){
		printf("%d,%d  ",p->coef,p->exp);
		p=p->next;
	}
}

void main(){
	Linklist la=new Lnode,lb=new Lnode,lc;
	input(la,lb);
	Addpoly(la,lb,lc);
	Display(lc);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -