c语言实现多项式的基本运算

本文介绍了如何使用C语言编程实现多项式的计算,该过程结合了链表数据结构,通过链表操作来处理多项式的加减乘等运算,旨在巩固链表知识并展示其实用场景。文中包含具体的代码示例及运行结果。
摘要由CSDN通过智能技术生成

多项式是数学中常用的一种表达式,现在我们给出用c语言编程实现多项式的计算,并且多项式的计算是链表的典型应用,通过编程实现多项式,也为我们巩固一下链表的知识以及它的生活应用。
下面给出代码

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct node
{
    float coef; //系数域 
  int  exp;  //指数域 
  struct node *next; //指针域 
  }*polynode;
int LocateElem(polynode L,int e) //在链表中查找与e相等的元素并返回元素位置 
{
   	int i;
	polynode p;
	p=L->next;
	for(i=0;i<L->exp;i++)
	{
   
		if(p->exp==e)
		return i+1;
		p=p->next;
	}
	return 0;
 } 
 int CreatePoly(polynode &L ,int m)
 {
     int i;
 	L=(polynode)malloc(sizeof(polynode));
    L->coef=0.0;
    L->exp=0;  //头指针指数域中存放链表长度 
	polynode p,r;
 	r=L;
    for(i=0;i<m;i++)  //依次输入 m 个非零项 
     {
    	p=(polynode)malloc(sizeof(polynode));
	   scanf("%f,%d",&p->coef,&p->exp);
	   if(!LocateElem(L,p->exp)) //如果表中不存在相同指数项,则插入 
	  {
    r->next=p;
	   r=p; 
	   L->exp++; //表长++ 
		} 
	 }
	 r->next=NULL; 
     return 1;
 }

 void print(polynode L)//打印函数 
 {
     int i=0;
 	polynode p;
    p=L->next;
 	while(i<L->exp)
 	{
    
	  printf("%.2f,%d  ",p->coef,p->exp);
	  p=p->next;
	  i++;
	  if(i%10==0)
	  printf("\n");
	 }
 }
 void 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔梦圆的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值