从键盘输入一元二次方程的三个系数,求出其解并输出
1个回答
关注
展开全部
从键盘输入一元二次方程的三个系数,求出其解并输出是#include "stdafx.h" #include #include"cmath" #include using namespace std; class Jie { public:Jie() //缺省的构造函数 {} Jie(double _a,double _b,double _c); //带参数的构造函数 int。
咨询记录 · 回答于2023-07-24
从键盘输入一元二次方程的三个系数,求出其解并输出
从键盘输入一元二次方程的三个系数,求出其解并输出是#include "stdafx.h" #include #include"cmath" #include using namespace std; class Jie { public:Jie() //缺省的构造函数 {} Jie(double _a,double _b,double _c); //带参数的构造函数 int。
编写程序,求一元二次方程ax2+bx+c=0的根(保留2位小数).系数a、b、c为浮点数,其值在运行时由键盘输入输入一元二次方程的系数a,b,c:0□0□0↙方程无穷解!输入一元二次方程的系数a,b,c:0□0□1↙输入一元二次方程的系数a,b,c:0□2□1↙方程有一个根:x=-0.50输入一元二次方程的系数a,b,c:1□2□1↙方程有两个相同实根:x1=x2=-1.00输入一元二次方程a,b,c:2.1□8.9□3.5↙方程有两个不同实根:x1=-0.44□x2=-3.80输入一元二次方程的系数a,b,c:2□2□1↙方程有两个不同根:x1=-0.50+0.50i□x2=-0.50-0.50i。
#include #include void main(){float a,b,c;float disc,x1,x2,realpart,imagpart;printf("请输入系数a、b、c(以空格隔开):\n");scanf("%f %f %f",&a,&b,&c);printf("The equation is:%fx^2+%fx+%f=0\n",a,b,c);printf("The root of the equation is:\n");if(a==0) /*二次项系数为0,即为一元一次方程的情况*/{if(b==0&&c!=0)printf("无解!\n");else if(b==0&&c==0)printf("解是任意的.\n");elseprintf("%f\n",(-c)/b);}else /*接下来,是a不为0的情况*/{disc=b*b-4*a*c;if(disc==0) /*判别式等于0时*/printf("%f\n",(-b)/(2*a));else if(disc>0) /*判别式大于0时*/{x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("%f and %f\n",x1,x2);}else /*最后是判别式小于0,有两个复数解*/{realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf("complex roots:\n");printf("%f+%fi\n",realpart,imagpart);printf("%f-%fi\n",realpart,imagpart);}}}