高阶多项式合并同类项程序c语言,多项式合并同类项问题
多项式合并同类项问题
这个函数编译通过 就是运行不了 我看不出是哪里有问题啊
pn * tongleixiang(pn * head) //pn 是多项式的节点类型
{
pn *p,*temp;
head=sort(head); //先把多项式从大到小排序 排序函数没问题
p=head->next;
while(p)
{
temp=p->next;
if(p->e==temp->e) //当前和下一个指数相同的话
{
p->c+=temp->c; //把下一个节点的系数加到当前节点的系数
p->next=temp->next; //把指针指向下一个的下一个
free(temp);
continue; //继续从p开始和p->next比较
}
p=p->next;
}
return head;
}
那位高手帮忙解答一下
搜索更多相关的解决方案:
多项式 同类项
----------------解决方案--------------------------------------------------------
怎么没人啊 晕 等了一天了
----------------解决方案--------------------------------------------------------
if(p->e==temp->e) 调试时 这边提示程序产生一个访问段违例
----------------解决方案--------------------------------------------------------
temp=p->next
这个TEMP可能是NULL
----------------解决方案--------------------------------------------------------
为什么? 我已经把p->next指向p->next->next;也就是p->next=temp->next;
----------------解决方案--------------------------------------------------------
你只是验证了P不是空的
----------------解决方案--------------------------------------------------------
加油啊
----------------解决方案--------------------------------------------------------
请问我应该怎么修改代码呢 ?
----------------解决方案--------------------------------------------------------
最好能把程序贴上来,否则我没有办法编译.
pn * tongleixiang(pn * head) //pn 是多项式的节点类型
{
pn *p;
p=(head=sort(head)); //先把多项式从大到小排序 排序函数没问题
while(p->next)
{
if(p->e==(p->next)->e) //当前和下一个指数相同的话
{
(p->c)+=(p->next)->c; //把下一个节点的系数加到当前节点的系数
p->next=(p->next)->next; //把指针指向下一个的下一个
free(p->next);
continue; //继续从p开始和p->next比较
}
p=p->next;
}
return head;
}
----------------解决方案--------------------------------------------------------
#include
#include
typedef struct danxiang
{
int c,e;
struct danxiang * next;
}pn;
pn * create()
{
pn * head, * p;
int n,i=1;
printf("输入多项式的个数n\n");
printf("n= ");
scanf("%d",&n);
head=p=(pn*)malloc(sizeof(pn));
while(n)
{
p->next=(pn*)malloc(sizeof(pn));
p=p->next;
printf("输入第%d单项式的系数和指数,以空格分开\n",i);
scanf("%d%d",&p->c,&p->e);
n--;
i++;
}
p->next=NULL;
return head;
}
pn * tongleixiang(pn * head)
{
pn *p,*temp;
p=head->next;
while(p)
{
temp=p->next;
if(p->e==temp->e)
{
p->c+=temp->c;
p->next=temp->next;
free(temp);
}
else p=p->next;
}
return head;
}
void print(pn * head)
{
pn * p=head->next;
printf("F(x) = ");
while(p)
{
if(p->c==1)
{
if(p->e==0)
printf("%d",p->c);
else if(p->e==1)
printf("X");
else printf("X^%d",p->e);
}
else
{
if(p->e==0)
printf("%d",p->c);
else if(p->e==1)
printf("%dX",p->c);
else printf("%dX^%d",p->c,p->e);
}
p=p->next;
if(p) printf(" + ");
}
}
void freememory(pn * head)
{
pn * q=head;
while(q)
{
head=head->next;
free(q);
q=head;
}
}
int main()
{
pn *p,*q;
p=create();
q=tongleixiang(p);
print(q);
freememory(p);
getch();
return 0;
}
程序在turbo c++3.0可以 在devcpp就不行 怎么回事啊
----------------解决方案--------------------------------------------------------
高阶多项式合并同类项程序c语言,多项式合并同类项问题相关推荐
- 机器学习——线性回归(一元、多元、高阶、交互项)R语言
线性回归 一元线性回归 fix(women) A data.frame: 6 × 2 height weight 1 58 115 2 59 117 3 60 120 4 61 123 5 62 12 ...
- 高阶系统降阶matlab程序,高阶系统的降阶控制研究
引言近年来,主动控制技术在很多方面都得到了很大的发展,尤其在飞机设计中,这门新技术越来越为人们所重视.但是,对飞机实施主动控制很关键的一个问题就是其实时性,离开实时性,主动控制就没韦现实性可言.计算机 ...
- python list元素合并_Python程序中使用表达式合并List列表元素 - Python - 服务器之家...
Python程序中使用表达式合并List列表元素 发布时间:2014-02-06 来源:服务器之家 在实现一个产品过程中,使用 Python Extension 需要一个语句将一个列表中子列表合并成为 ...
- 高阶多项式合并同类项程序c语言,c语言实现两多项式相乘并排序合并同类项.doc...
#includetypedef struct Node { int coef;//系数 int exp;//指数 struct Node *next; }PolyNode; PolyNode *Cre ...
- 高阶多项式合并同类项程序c语言,c语言实现两多项式相乘,并排序,合并同类项.doc...
#include typedef struct Node { int coef;//系数 int exp;//指数 struct Node *next; }PolyNode; PolyNode *Cr ...
- C++学习从基础到高阶(基于黑马程序员教程)
视频链接:黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难(52个小时) C语言中文网:http://c.biancheng.net/cplus/ Visual Studio 2022 ...
- 高阶函数和回调函数的区别
今天看到高阶函数的概念,突然就迷不过来了,这个高阶函数和回调有什么区别呢? 高阶函数英文叫Higher-order function.那么什么是高阶函数? 刚开始学习语言我最害怕看到这种XX函数的,一 ...
- Python学习日志10 - 高阶函数和高级应用
Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 前言 进入正题 Python学习日志10课 - 高阶函数 ...
- java 高阶函数_谈谈高阶函数给我们带来了什么。
什么是高阶函数 一句话解释的话,就是函数可以作为参数以变量的方式持有,引用,构造和使用 一些文章我随手搜的,大家可以看看,它本身的概念并不复杂. 高阶函数-廖雪峰 高阶函数-wiki 其实现在主流语言 ...
最新文章
- 【目标检测】(6) YOLOV2 目标检测在V1基础上的改进
- Apache+PHP配置过程详解
- pcDuino上如何安装wordpress
- vscode教程笔记
- Mac OSX Versions输入username按1下都会出现2个字符,并且不能create,解决方法
- 【Windows 逆向】CheatEngine 工具 ( CheatEngine 简介 | 使用 Lazarus 编译 CE 源码 | CheatEngine 相关文档资料 )
- 基于单片机的c语言倒计时程序,30秒倒计时c语言51单片机实现.doc
- python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...
- 直方图应用:直方图均衡化,直方图匹配,对比直方图
- 将 Mac OS X 上的目录挂载到 Linux 的方法
- Intel qsv + ffmpeg 硬解h264
- wegame饥荒一直连接中_怪诞画风下的异世界生存,一款让你吃到撑的游戏——《饥荒》...
- 【SpringMVC学习11】SpringMVC中的拦截器
- python为什么叫爬虫-总算领会python为什么叫爬虫
- 上拉电阻与下拉电阻介绍
- 毕设题目:Matlab图像检索
- 花了很长时间看完了 java编程思想
- Word错别字校对-JCJC
- 解决删除Volume报错的问题(二)
- 全网超详细的VMware虚拟机安装Kali Linux系统以及首次启动Kali Linux系统的注意事项