早教吧作业答案频道 -->其他-->
数据结构用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.345*2005+0.28*200.5+6.3*20.05+92*2.002+510*0.20 2020-04-07 …
老师在给我纠正这道题错没有.修改病句 2020-06-04 …
11年6月大学英语六级帮忙估分听力:选择对11个(短对话4个长对话3个短文理解4个)单词错3个句子 2020-06-05 …
4道六年级数学题1.52人考试共有5题做错第一题的有4人做错第二题的有6人做错第三题的有10人做错 2020-06-11 …
判断题;请看6、判断下列句子是否有语病(没有语病选对,有语病选错):中国青少年在智力的活跃上丝毫不 2020-07-11 …
共20道试题.做对一题得5分,不做得0分,做错一题倒扣2分.问:小强得了64分,他做错的题和没有做 2020-07-13 …
现有数学题一道,有52个人做5道题:错第一道题的有4人,错第二题的有6人,错第3道题的有10人,错第 2020-11-03 …
某次考试有52人参加,共考了5道题,每题做错的人数统计如下,第一题做错有4人,第二题做错有6人,第三 2020-11-06 …
BEC-vantage中级这样算什么水平?刚才裸考了一次题目来源-真题集阅读第一部分7题,错了2个. 2021-01-05 …
若一次函数Y=KX+B与反比例函数Y=K/X的图象都经过(-2,1)则B的值是多少?这个题错没错,没 2021-01-13 …