1个回答
展开全部
#include <iostream>
using namespace std;
#include<stdio.h>
#include<math.h>
class rr
{
private:
double a,b,c,root1,root2;
int n;
public:
rr(){a=b=c=root1=root2=0;n=-5;}
~rr(){}
void set(double aa,double bb,double cc){a=aa;b=bb;c=cc;}
void sett();
void show();
};
void rr::show()
{
if(n==1)
printf("root2=%.4f root2=%.4f\n",root1,root2);
else if(n==0)
printf("root1=root2=%.4f\n",root1);
else if(n==-1)printf("此方程无解!\n");
}
void rr::sett()
{
double d=b*b-4*a*c;
if(d>0)
{
root1=(-b+sqrt(d))/(2*a);
root2=(-b-sqrt(d))/(2*a);
n=1;
}
else if(d==0)
{
root1=root2=(-b)/(2*a);
n=0;
}
else n=-1;
}
int main()
{
double x,y,z;
rr a;
cout<<" 请输入你要求解的方程的系数;"<<endl;
cin>>x>>y>>z;
a.set(x,y,z);
a.sett();
a.show();
return 0;
}
希望对你有帮助
using namespace std;
#include<stdio.h>
#include<math.h>
class rr
{
private:
double a,b,c,root1,root2;
int n;
public:
rr(){a=b=c=root1=root2=0;n=-5;}
~rr(){}
void set(double aa,double bb,double cc){a=aa;b=bb;c=cc;}
void sett();
void show();
};
void rr::show()
{
if(n==1)
printf("root2=%.4f root2=%.4f\n",root1,root2);
else if(n==0)
printf("root1=root2=%.4f\n",root1);
else if(n==-1)printf("此方程无解!\n");
}
void rr::sett()
{
double d=b*b-4*a*c;
if(d>0)
{
root1=(-b+sqrt(d))/(2*a);
root2=(-b-sqrt(d))/(2*a);
n=1;
}
else if(d==0)
{
root1=root2=(-b)/(2*a);
n=0;
}
else n=-1;
}
int main()
{
double x,y,z;
rr a;
cout<<" 请输入你要求解的方程的系数;"<<endl;
cin>>x>>y>>z;
a.set(x,y,z);
a.sett();
a.show();
return 0;
}
希望对你有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询