多项式合并同类项问题

这个函数编译通过 就是运行不了  我看不出是哪里有问题啊

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语言,多项式合并同类项问题相关推荐

  1. 机器学习——线性回归(一元、多元、高阶、交互项)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 ...

  2. 高阶系统降阶matlab程序,高阶系统的降阶控制研究

    引言近年来,主动控制技术在很多方面都得到了很大的发展,尤其在飞机设计中,这门新技术越来越为人们所重视.但是,对飞机实施主动控制很关键的一个问题就是其实时性,离开实时性,主动控制就没韦现实性可言.计算机 ...

  3. python list元素合并_Python程序中使用表达式合并List列表元素 - Python - 服务器之家...

    Python程序中使用表达式合并List列表元素 发布时间:2014-02-06 来源:服务器之家 在实现一个产品过程中,使用 Python Extension 需要一个语句将一个列表中子列表合并成为 ...

  4. 高阶多项式合并同类项程序c语言,c语言实现两多项式相乘并排序合并同类项.doc...

    #includetypedef struct Node { int coef;//系数 int exp;//指数 struct Node *next; }PolyNode; PolyNode *Cre ...

  5. 高阶多项式合并同类项程序c语言,c语言实现两多项式相乘,并排序,合并同类项.doc...

    #include typedef struct Node { int coef;//系数 int exp;//指数 struct Node *next; }PolyNode; PolyNode *Cr ...

  6. C++学习从基础到高阶(基于黑马程序员教程)

    视频链接:黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难(52个小时) C语言中文网:http://c.biancheng.net/cplus/ Visual Studio 2022 ...

  7. 高阶函数和回调函数的区别

    今天看到高阶函数的概念,突然就迷不过来了,这个高阶函数和回调有什么区别呢? 高阶函数英文叫Higher-order function.那么什么是高阶函数? 刚开始学习语言我最害怕看到这种XX函数的,一 ...

  8. Python学习日志10 - 高阶函数和高级应用

    Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 前言 进入正题 Python学习日志10课 - 高阶函数 ...

  9. java 高阶函数_谈谈高阶函数给我们带来了什么。

    什么是高阶函数 一句话解释的话,就是函数可以作为参数以变量的方式持有,引用,构造和使用 一些文章我随手搜的,大家可以看看,它本身的概念并不复杂. 高阶函数-廖雪峰 高阶函数-wiki 其实现在主流语言 ...

最新文章

  1. 【目标检测】(6) YOLOV2 目标检测在V1基础上的改进
  2. Apache+PHP配置过程详解
  3. pcDuino上如何安装wordpress
  4. vscode教程笔记
  5. Mac OSX Versions输入username按1下都会出现2个字符,并且不能create,解决方法
  6. 【Windows 逆向】CheatEngine 工具 ( CheatEngine 简介 | 使用 Lazarus 编译 CE 源码 | CheatEngine 相关文档资料 )
  7. 基于单片机的c语言倒计时程序,30秒倒计时c语言51单片机实现.doc
  8. python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...
  9. 直方图应用:直方图均衡化,直方图匹配,对比直方图
  10. 将 Mac OS X 上的目录挂载到 Linux 的方法
  11. Intel qsv + ffmpeg 硬解h264
  12. wegame饥荒一直连接中_怪诞画风下的异世界生存,一款让你吃到撑的游戏——《饥荒》...
  13. 【SpringMVC学习11】SpringMVC中的拦截器
  14. python为什么叫爬虫-总算领会python为什么叫爬虫
  15. 上拉电阻与下拉电阻介绍
  16. 毕设题目:Matlab图像检索
  17. 花了很长时间看完了 java编程思想
  18. Word错别字校对-JCJC
  19. 解决删除Volume报错的问题(二)
  20. 全网超详细的VMware虚拟机安装Kali Linux系统以及首次启动Kali Linux系统的注意事项

热门文章

  1. 系统监控——监控系统选型分析及误区探讨
  2. 数据库笔记——Mysql、Oracle、Sqlserver || Redis、Memcached、mongoDB环境搭建
  3. java语言实现修改文件名称的功能
  4. eclipse pmd的使用
  5. malloc的内存申请和释放
  6. HTML5中swiper实现图片查看功能
  7. 接口做的好怎么形容_9个色彩搭配网站,没当过设计师也能做好配色了
  8. 芯片管脚工作在各个模式的特点和优缺点(持续更新)加上下拉电阻的作用
  9. C语言——数组指针篇
  10. 计算机网络原理【第三章 数据链路层】课后习题答案