早教吧 育儿知识 作业答案 考试题库 百科 知识分享

把二次多项式ax2+bx+c设计成一种抽象数据类型题目如下数据部分分为三个系数项,和,操作部分为:(1)初始化,和的值,假定它们的默认值均为0;(2)做两个多项式的加法,返回它们的和;

题目详情
把二次多项式ax2+bx+c设计成一种抽象数据类型
题目如下数据部分分为三个系数项 ,和 ,操作部分为:
(1)初始化 ,和 的值,假定它们的默认值均为0;
(2)做两个多项式的加法,返回它们的和;
(3)根据给定 的值计算多项式的值并返回;
(4)计算方程 的两个实数根,对于有实根、无实根和不是二次方程
(即 )这三种情况都要返回不同的整数值,以便返回后做不同的处理;
(5)按照 的格式输出二次多项式,在输出时要注意去掉系数为0的项,并且当 和 的值为负时,其前不能出现加号.
试描述其抽象数据类型.
▼优质解答
答案和解析
//QUAdratic.h
#ifndef QUAdratic_h
#define QUAdratic_h
#include
#include
typedef float Status;
struct dratic{
float a,b,c;
};
void Print(dratic &d); //输出函数式
dratic Plus(dratic &d1,dratic &d2); //二次多项式做加法
void Intdratic(dratic &d,float a0,float b0,float c0); //初始化结构体
Status Putout(dratic &d); //带入具体的x的值,输出结果
Status Tell(dratic &d); //判断二次多项式的具体情况,并输出结果
#endif
//QUAdratic.cpp
#include"QUAdratic.h"
void Intdratic(dratic &d,float a0,float b0,float c0)
{
d.a=a0;
d.b=b0;
d.c=c0;
}//初始化结构体
dratic Plus(dratic &d1,dratic &d2)
{
dratic temp;
temp.a=d1.a+d2.a;
temp.b=d1.b+d2.b;
temp.c=d1.c+d2.c;
return temp;
}//二次多项式做加法
void Print(dratic &d)
{
if(d.a!=0)
{
if(d.a==1)
printf("x**2");
else
printf("%.1fx**2",d.a);
if(d.b!=0)
{
if(d.b