一元多项式的建立及加减

#include<stdio.h>
#include<stdlib.h>
typedef struct
{
 int x;
 int y;
 struct *next;
}node;
void create1(node **phead,int i,int n)                        一元多项式的建立
  {
 int a,b;
    node *p1, *p2, *q;
    p2 = *phead;
    p1 = NULL;
    while (p2!= NULL) {
      p1 = p2;
      p2 = p2->next;
    }
    q= (node *)malloc(sizeof(node));
    printf("输入第%d项的系数,指数:  ",i);
    scanf("%d%d",&a,&b);
    q->x=a;
    q->y=b;
    q->next = p2;
    if (p1 == NULL)
 {
      *phead= q;
    }
 else
 {
      p1->next = q;
    }
 }
void sort(node *phead)                             对多项式进行排序
{
 node *p,*q;
 int t;
 p=q=phead;
 for(p=phead;p->next!=NULL;p=p->next)
 {
  for(q=p;q!=NULL;q=q->next)
  {
   if(p->y>q->y)
   {
    t=p->y;
    p->y=q->y;
    q->y=t;
    t=p->x;
    p->x=q->x;
    q->x=t;
   }
  }
 }
}
void print(node *head)
{
 node *p;
 p=head;
 while(p->next!=NULL)
 {
  printf("%dX^%d",p->x,p->y);
  p=p->next;
  if(p->x>0)
   printf("+");
 }
 printf("%dX^%d",p->x,p->y);
}
void plus(node *phead1,node *phead2,int n)            多项式的相加
{
 node *p,*q,*p1,*p2;
 node a[100];
 int i=0;
 p=phead1;
 q=phead2;
 while(p!=NULL&&q!=NULL)
 { 
  if(p->y==q->y)
  {
   a[i].x=p->x+q->x;
   a[i].y=p->y;
   i++;
   n--;
   p=p->next;
   q=q->next;
  }
  else if(p->y>q->y)
  {
   a[i].x=q->x;
   a[i].y=q->y;
   i++;
   q=q->next;
  }
  else
  {
   a[i].x=p->x;
   a[i].y=p->y;
   i++;
   p=p->next;
  }
 }
 while(p!=NULL)
 {
  a[i].x=p->x;
  a[i].y=p->y;
  i++;
  p=p->next;
 }
 while(q!=NULL)
 {
  a[i].x=q->x;
  a[i].y=q->y;
  i++;
  q=q->next;
 }
 printf("\n");
 printf("多项式的和为:  ");
 for(i=0;i<n;i++)
 {
  printf("%dX^%d",a[i].x,a[i].y);
  if(a[i+1].x>0)
   printf("+");
 }
 printf("\n");
}
void minus(node *phead1,node *phead2,int n)             多项式的相减
{
 node *p,*q;
 node a[100];
 int i=0;
 p=phead1;
 q=phead2;
 while(p!=NULL&&q!=NULL)
 { 
  if(p->y==q->y)
  {
   a[i].x=p->x-q->x;
   a[i].y=p->y;
   i++;
   n--;
   p=p->next;
   q=q->next;
  }
  else if(p->y>q->y)
  {
   a[i].x=-(q->x);
   a[i].y=q->y;
   i++;
   q=q->next;
  }
  else
  {
   a[i].x=p->x;
   a[i].y=p->y;
   i++;
   p=p->next;
  }
 }
 while(p!=NULL)
 {
  a[i].x=p->x;
  a[i].y=p->y;
  i++;
  p=p->next;
 }
 while(q!=NULL)
 {
  a[i].x=-(q->x);
  a[i].y=q->y;
  i++;
  q=q->next;
 }
 printf("\n");
 printf("多项式的差为:  ");
 for(i=0;i<n;i++)
 {
  printf("%dX^%d",a[i].x,a[i].y);
  if(a[i+1].x>0)
   printf("+");
 }
 printf("\n");
}
int main(void)
{
 int i,n1,n2,t;
 node *head1,*head2;
 printf("输入第一个式子项的数目:");
 scanf("%d",&n1);
 for (i = 1,head1 = NULL;i <= n1;i++)
  create1(&head1, i, n1);
 sort(head1);
 printf("第一个多项式为:  ");
 print(head1);
 printf("\n输入第二个式子项的数目:");
 scanf("%d",&n2);
 for (i = 1,head2 = NULL;i <= n2;i++)
  create1(&head2, i, n2);
 sort(head2);
 printf("第二个多项式为:  ");
 print(head2);
 plus(head1,head2,n1+n2);
 minus(head1,head2,n1+n2);
}


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486212.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle中的in函数,Oracle中In函数的使用

SQL: "IN" FunctionThe IN function helps reduce the need to use multipleORconditions.译&#xff1a;IN函数有助于减少OR条件的复合使用。The syntax for the IN function is:译&#xff1a;IN函数的语法&#xff1a;SELECT columnsFROM tablesWHERE column1 in …

海尔对话 Unity:作为数字转型的高阶形态,数字孪生发展前景不可逆

来源&#xff1a;数字化企业作为信息化发展到一定程度的必然结果&#xff0c;数字孪生正成为人类解构、描述和认识真实世界和虚拟世界的新型工具。从发展态势来看&#xff0c;数字孪生不仅是全新信息技术发展的新焦点&#xff0c;也是各国实现数字化转型的新抓手&#xff0c;还…

js整体缩小网页_SEO网页优化的原则是什么?

SEO网页优化的原则是什么?SEO优化对于网页的排名是非常重要的&#xff0c;排名高低直接影响到流量和转化&#xff0c;那么怎么优化呢&#xff0c;SEO网页优化的原则是什么?下面小编来告诉你SEO网页优化的原则。1、不要抄袭。因为独特的内容是所有搜索引擎都喜欢的&#xff0c…

Python基本数据类型以及字符串

基本数据类型 数字 int &#xff0c;所有的功能&#xff0c;都放在int里 a1 123 a1 456 - int 将字符串转换为数字 a "123" print(type(a),…

计蒜客 跳跃游戏

给定一个非负整数数组&#xff0c;假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 请确认你是否能够跳跃到数组的最后一个下标。 例如&#xff1a;A [2,3,1,1,4]A[2,3,1,1,4] 能够跳跃到最后一个下标&#xff0c;输出true&#xf…

php 面相对象设计,PHP面向对象设计的规范

1.职责过程化的编码&#xff0c;控制代码的职责是判断文件格式&#xff0c;它判断两次不是一次。面向对象的编码&#xff0c;父类的职责是提供规范&#xff0c;判断格式也只有一次&#xff0c;并且不考虑细节。2.内聚内聚是一个模块内部各成分之间相关程度的度量。如果组件职责…

蒲慕明:今人眼中的大脑之美 | 书评

圣地亚哥拉蒙-卡哈尔&#xff08;Santiago Ramn y Cajal, 1852-1934&#xff09;来源&#xff1a; 知识分子撰文&#xff1a;蒲慕明现代神经科学起源于十九世纪末期&#xff1b;圣地亚哥拉蒙-卡哈尔&#xff08;Santiago Ramn y&#xff09;的神经解剖学研究和他提出的神经元理…

python成绩转换、百分制到五分制_设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~90分为B,...

展开全部编码思路&#xff1a;申明两个变量: 成绩cj为 浮点数float 且 取值范围为 [0,100] 闭区间内; pf为字62616964757a686964616fe58685e5aeb931333431353262符类型&#xff0c;接收最终分数评级的字母A,B,C,D,E中的一个。引导用户输入100分制的分数&#xff0c;并用cj接收…

数据库临时表空间设置

1、查看临时表空间 &#xff08;dba_temp_files视图&#xff09;&#xff08;v_$tempfile视图&#xff09;select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;select status,enabled, name, bytes/1024/1024 file_size from v_$…

一元多项式的加减以及求导

采用链式存储结构&#xff0c;将两个线性链表表示的一元多项式相加减&#xff0c;求导并输出。 #include<stdio.h> #include<stdlib.h>typedef struct lnode{int coef; //系数 int index; //指数struct lnode *next; }node;node *Create() //头插法建立一元…

oracle 驱动表提示错误代码,oracle驱动表以及如何确定驱动表

驱动表普遍认为是由SQL语句的写法决定的&#xff0c;简单的说&#xff0c;就是FROM语句后面的表列表中的最后一个。由于SQL语句是从后向前进行分析&#xff0c;Oracle会根据FROM语句从后到前将各个表依次连接起来。SQL> CREATE TABLE T1 AS SELECT * FROM USER_TABLES;表已创…

sqlite 0转换为bit_Cisco Talos在SQLite中发现了一个远程代码执行漏洞

思科Talos的研究人员在SQLite中发现了一个use-after-free() 的漏洞&#xff0c;攻击者可利用该漏洞在受影响设备上远程执行代码。攻击者可以通过向受影响的SQLite安装发送恶意SQL命令来触发此漏洞。“Sqlite3 3.26.0的窗口函数&#xff08;Window_Function&#xff09;中存在可…

构建未来情报体系—— AI及大数据时代情报分析人员的战略价值

知远战略与防务研究所 沐俭/编译来自&#xff1a;美国战略与国际问题研究中心网站【知远导读】本篇推送编辑节选自美国战略与国际问题研究中心&#xff08;CSIS&#xff09;技术与情报专项研究小组撰写的一篇利用新兴科技提高情报分析人员的战略情报分析能力的文章&#xff0c;…

B1015/A1062 . 德才论 (25)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”&#xff1a;“是故才德全尽谓之圣人&#xff0c;才德兼亡谓之愚人&#xff0c;德胜才谓之君子&#xff0c;才胜德谓之小人。凡取人之术&#xff0c;苟不得圣人&#xff0c;君子而与之&#xff0c;与其得小人&#xff0…

给matlab图加图注,matlab学习5-数据可视化4-gai.ppt

matlab语言丰富的图形表现方法&#xff0c;使得数学计算结果可以方便地、多样性地实现了可视化&#xff0c;这是其它语言所不能比拟的。;第一节 符号函数绘图第二节 图形编辑第三节 2D数据图第四节 3D数据图第五节 MATLAB的视图功能第六节 图像、视频和声音;plot —— 最基本的…

中国的自动驾驶到底发展到了什么程度?

来源&#xff1a;面包板社区中国在自动驾驶汽车&#xff08;AV&#xff09;领域投入了大量资金&#xff0c;计划大力发展汽车工业这一新兴领域&#xff0c;包括技术、初创企业、测试、法律法规和部署等各个方面。图1&#xff1a;在百度世界2020大会上&#xff0c;百度展示了其全…

数据挖掘算法_技术分享|大数据挖掘算法之KNNk近邻算法

程一舰数据技术处K最近邻(kNN&#xff0c;k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻&#xff0c;就是k个最近的邻居的意思&#xff0c;说的是每个样本都可以用它最接近的k个邻居来代表。KNN是通过测量不同特征值之间的距离进行分类。其基本…

漂亮的树

街上有n棵树&#xff0c;标号为1...n&#xff0c;第i棵树的高度为ai。定义这n棵树是漂亮的&#xff0c;当且仅当1. 对于所有的i&#xff0c;aian-i1&#xff1b;2. 对于1 < i < n / 2 (不是整除)&#xff0c;ai 1 ai 1&#xff1b;比如说 “2 3 4 5 5 4 3 2”和“1 2 3…

1012 The Best Rank (25)

题目描述: To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mathematics (Calculus or Linear Algrbra), and E - English. At the mean time, we encourage students …

岩板铺地好吗_别人都说岩板好,我笑他人乐太早

若说岩板是陶瓷行业目前最火爆的产品&#xff0c;相信没有人会睁眼说瞎话表示反对。据统计&#xff0c;目前国内已建成的岩板生产线已有55条&#xff0c;计划在下半年建成/投产的岩板生产线已有17条。照此势头发展下去&#xff0c;国内岩板生产线的条数在2021年将逼近100条&…