C++ free()函数的应用
#include<stdio.h>#include<malloc.h>#include"math.h"#definenull0typedefstructpnode//定义...
#include<stdio.h>
#include<malloc.h>
#include"math.h"
#define null 0
typedef struct pnode//定义一个结点
{
float a;//定义系数
int b;//定义指数
struct pnode *next;
};
struct pnode *head;//定义头结点
void creatnode()//创建单链表,输入多项式各项系数
{
int i,n;
struct pnode *p;
struct pnode *t;
p=(struct pnode*)malloc(sizeof(struct pnode));//开辟一个pnode型长度的空间 并将地址给p
p->next=null;head=p;p->a=0;p->b=0;//将p指向的结点赋初值
printf("输入项数 n=");
scanf("%d",&n);//输入项数
for(i=n;i>0;--i)//逆位序向链表输入各项系数与对应指数
{
t=(struct pnode*)malloc(sizeof(struct pnode));
printf("输入第%d项 系数a=,指数b=",i);
scanf("%f,%d",&t->a,&t->b);//输入系数与对应指数
t->next=p->next;p->next=t;
}
}//creatnode
float result(float x)//计算和函数的值
{
struct pnode *temp;
double sum=0.0;
struct pnode *t;
t=head->next;
while(t)//当t不为0时执行一下循环,直至t为0时结束
{
sum=sum+(t->a)*pow(x,t->b);//计算各项之和
t=t->next;//移动指针,指向下一个结点
}
return(sum);//返回计算结果
}//result
void main()
{
float result(float x);
float c,d;
creatnode();//执行creatnode()函数
printf("输入未知数 x=");
scanf("%f",&c);//输入x的值
d=result(c);//返回计算结果给d
printf("answer is %f\n",d);
}//main
怎么清空开辟的链表?程序没有错 展开
#include<malloc.h>
#include"math.h"
#define null 0
typedef struct pnode//定义一个结点
{
float a;//定义系数
int b;//定义指数
struct pnode *next;
};
struct pnode *head;//定义头结点
void creatnode()//创建单链表,输入多项式各项系数
{
int i,n;
struct pnode *p;
struct pnode *t;
p=(struct pnode*)malloc(sizeof(struct pnode));//开辟一个pnode型长度的空间 并将地址给p
p->next=null;head=p;p->a=0;p->b=0;//将p指向的结点赋初值
printf("输入项数 n=");
scanf("%d",&n);//输入项数
for(i=n;i>0;--i)//逆位序向链表输入各项系数与对应指数
{
t=(struct pnode*)malloc(sizeof(struct pnode));
printf("输入第%d项 系数a=,指数b=",i);
scanf("%f,%d",&t->a,&t->b);//输入系数与对应指数
t->next=p->next;p->next=t;
}
}//creatnode
float result(float x)//计算和函数的值
{
struct pnode *temp;
double sum=0.0;
struct pnode *t;
t=head->next;
while(t)//当t不为0时执行一下循环,直至t为0时结束
{
sum=sum+(t->a)*pow(x,t->b);//计算各项之和
t=t->next;//移动指针,指向下一个结点
}
return(sum);//返回计算结果
}//result
void main()
{
float result(float x);
float c,d;
creatnode();//执行creatnode()函数
printf("输入未知数 x=");
scanf("%f",&c);//输入x的值
d=result(c);//返回计算结果给d
printf("answer is %f\n",d);
}//main
怎么清空开辟的链表?程序没有错 展开
6个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询