数据结构多项式求和
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构与算法
上机实验报告(一)
上机实验题目:一元多项式的表示及相加
专业班级:信息与计算科学1401班
姓名:邢鑫锋学号:140701211 设计室:理学院机房
上机时间: 2015-11-10 上机学时: 4学时
指导教师:杜洪波成绩:
一.实验目的:
1、进一步熟练掌握应用链表处理实际问题的能力
2、
二.实验内容:
1、一元多项式相加是通过键盘输入两个形如 P0+P1X1+P2X2+。。。+PnXn 的多项式,经过程序运算后在屏幕上输出它们的相加和。
2、
3、
三、程序及注释:
#include
#include
#include
typedef struct Node
{
int Data;
Node* next;
}SLNode;
void listInt(SLNode **T)
{if((*T=(SLNode*)malloc(sizeof(SLNode)))==NULL) exit(1);
(*T)->next=NULL;
}
void Create(SLNode *T,int n)
{
SLNode *p;
int i;
p=T;
for(i=0;i { SLNode *q=(SLNode*)malloc(sizeof(SLNode)); p->next=q; printf("请输入链表数据\n"); scanf("%d",&q->Data); p=q; } } void Addtion(SLNode*T,SLNode*B,SLNode*C,int n) { int i; SLNode *p; p=C; for(i=0;i { SLNode *q=(SLNode*)malloc(sizeof(SLNode)); p->next=q; T=T->next; B=B->next; q->Data=T->Data+B->Data; p=q; } } int main() { int j=0; SLNode*T;SLNode*B;SLNode*C; listInt(&T); listInt(&B); listInt(&C); int n; printf("请输入相加多项式的最大阶数\n"); scanf("%d",&n); printf("请建立第一个多项式\n"); Create( T, n); printf("请建立第二个多项式\n"); Create( B, n); Addtion(T, B, C, n); for(;j {if(j!=n-1) { C=C->next; printf("%d*x^%d+",C->Data,n-j); } else { C=C->next; printf("%d*x^%d\n",C->Data,1); } } return 0; } 四.运行结果: 五.实验心得: 备注:页码不够可多加页码!