早教吧作业答案频道 -->其他-->
数据结构用C语言-一元多项式的简单计算运行没错误,但输入后内存好像会出现问题,可能是动态申请空间有什么问题,各位高手帮我改改#include#include#include#defineM16typedefstructterm{
题目详情
数据结构用C语言-一元多项式的简单计算运行没错误,但输入后内存好像会出现问题,可能是动态申请空间有什么问题,各位高手帮我改改 #include #include #include #define M 16 typedef struct term { //项的表示,多项式的项作为LinkList的数据元素 float coef; //系数 int expn; //指数 struct term *next; }term; void PolyInitiate(term **head) { *head = (term *)malloc(sizeof(term)); (*head)->next = NULL; } void CreatPolyn(term *P,int m) {// 输入m项的系数,最高次幂项指数为m-1,建立表示一元多项式的单链表P P->coef = 0.0; int i; printf("依次输入%d个系数(没有的项系数为0)\n",m); for (i = 0; i < m; i++) { // 依次输入m个项 printf("指数为%d的系数",i); scanf("%f",&P->coef); P->expn = i; P = P->next = (term*)malloc(sizeof(term)); } } void Calculatepoly(term *x, term *y, term *z, int a) {//计算多项式x和y,a为0加,非0减,结果为z int i; for(i = 0; i < M; i++) { if(a!=0) z->coef = x->coef + y->coef; else z->coef = x->coef - y->coef; z->expn = x->expn; } } void Printfpoly(term *z) {//输出多项式z int i; printf(" %fx^%d ", z->coef, z->expn); z = z->next; for(i=1; i < M-1; i++) { if(z->coef >= 0)printf("+"); printf(" %fx^%d ", z->coef, z->expn); z = z->next; } } void main(void) {//测试主函数 term *x, *y, *z; int a; printf("加法输入1,减法输入0"); scanf("%d",&a); PolyInitiate(&x); PolyInitiate(&y); PolyInitiate(&z); CreatPolyn(x,M); CreatPolyn(y,M); Printfpoly(x); Printfpoly(y); Calculatepoly(x, y, z, a); Printfpoly(z); }
▼优质解答
答案和解析
malloc分配内存要用free释放
看了 数据结构用C语言-一元多项式...的网友还看了以下:
英语单词填空(组成单词)1)d.l.e.d.m.i2)l.e.p.o.i.ee3)u.y.g.o. 2020-04-25 …
英语单词辨音找出画()部分读音与其余不同的单词()1.A .kn(ee) B.n(e)ck C.r 2020-05-17 …
c++语句四边形的面积周长#include"stdio.h"main(){chars,l,a,b; 2020-06-04 …
A.炽痛(chì)嗥鸣(háo)斑斓(lán)B.谰语(lán)怪诞(dàn)亘古(gèng)C. 2020-07-05 …
下列加粗词语读音全都下列加粗词语读音全都正确的一项是[]A.炽痛(chì)嗥鸣(háo)斑斓(lá 2020-07-05 …
定积分计算∫l/(d^2/4+l^2)^(3/2)*dl在[0,l]上的积分能计算吗?d是常数∫L 2020-08-02 …
L:Doctor!D:Goodmorning.?L:I'vegotabadheadache.D:?L 2020-10-30 …
matlab高手进来看看.form=1:length(l);x=0:0.01:l(m);forn=1 2020-11-04 …
下列词语中,划线的字读音全都正确的一组是()A.圭臬(niè)苏打(dǎ)砾石(lì)掎角之势(jǐ 2020-12-17 …
大哥再问个问题定义变量如下:charc=‘w‘;inti=8;longL=15;floatf=8.9 2020-12-31 …