闹钟上tap是什么意思:数据结构编程,要能运行出来!

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/11 16:34:59
一元多项式ADT的虚拟实现;操作:1、创建 2、输出 3、加法 4、减法 5、乘法 6、计算x0处的值
下面这个还没完成呢!!!
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct{
float coef;
int expn;
}term;
typedef struct LNode{
term data;
struct LNode *next;
}LNode,*linklist;
void creatlist(linklist l)
{
float xs;
int zs;
linklist p,q;

l=(linklist)malloc(sizeof(LNode));
if(!l){printf("内存溢出\n"); exit(0);}
l->next=NULL;q=l;
printf("请输入多项式的系数和指数:\n");
scanf("%f%d",&xs,&zs);
while(xs!=0||zs!=0)
{
p=(linklist)malloc(sizeof(LNode));
p->data.coef=xs;p->data.expn=zs;
p->next=NULL;
q->next=p;
q=p;
scanf("%f%d",&xs,&zs);
}
printf("多项式创建成功\n");
}

//void CreatPolyn(&la,coef,expn);
//do
//scanf("%f,%d",&coef,&expn);
//while(coef=0&&expn=0);break;
//void CreatPolyn(&lb,coef,expn);
//do
//scanf("%f,%d",&coef,&expn);
//while(coef=0&&expn=0);break;
//void AddPoly(polynomail &Pa,polynomail &Pb);//两个多项式的加法
//void SubtractPolyn(polynomail &Pa,polynomail &Pb);//两个多项式的减法
//void MultiplyPolyn(polynomail &Pa,polynomail &Pb);

void main()
{
linklist la,lb,lc;
int item;
la=NULL;lb=NULL;lc=NULL;
do{
printf("0:退出\n");
printf("1:创建\n");
printf("2:加法\n");
printf("3:减法\n");
printf("4:乘法\n");
printf("5:求值\n");
printf("6:求导\n");
printf("请选择:\n");
scanf("%d",&item);
switch (item)
{
case 0:
exit(0);break;
//exit
case 1:
creatlist(la);
printf("多项式la为:\n");
//printf(la);
creatlist(lb);
printf("多项式lb为:\n");
//printf(lb);
break;
//creat
case 2:
//AddPolyn(la,lb,lc);
//printf(lc);
break;
//add
case 3:
//SubtractPolyn(la,lb,lc);
//printf(lc);
//minus
break;
case 4:
//乘
break;
case 5:
float qiuzhi(linklist l,float x){
float s;
linklist p;
s=0;
p=l->next;
while(p){
printf("请输入x的值:\n");
scanf("%f",&x);
s=s+p->next.coef*pow(x,p-n>next.expn);
p=p->next;
}
return s;
printf("多项式的值为:\n");
}
//求值
case 6:
//求导
break;
default:printf("选择非法!\n");
}
}while(1);
}

这么长你叫我怎么看`