用C++设计一个程序,求出一元二次方程ax^2+bx+c=0的根

系数a.b.c的值从键盘上输入。求方程根的计算公式为x=(-b+-根号下b^-4ac)/2a当平方根小于0时,输出“Nosolutions!";否则,输出x的两个实根。... 系数a.b.c的值从键盘上输入。求方程根的计算公式为x=(-b+-根号下b^-4ac)/2a
当平方根小于0时,输出“No solutions!";否则,输出x的两个实根。
展开
 我来答
小太阳5t5
2011-05-25 · TA获得超过979个赞
知道小有建树答主
回答量:974
采纳率:66%
帮助的人:536万
展开全部

C++的代码:
#include <iostream.h>
#include <math.h>
void main(void)
{
double a,b,c,d;
char ch('y');
do{
cout<<"请依次输入二次方程ax^2+bx+c=0的系数(a不等于0):"<<endl;
cin>>a>>b>>c;
if(-0.0001<a<0.0001) //浮点数不宜直接判断相等

d=b*b-4*a*c;
if(d==0)cout<<"方程有两个相等实根:"<<-b/(2*a)<<endl;
else if(d<0)cout<<"方程有两个不相等复根:"<<-b/(2*a)<<"+i"<<sqrt(-d)/(2*a)<<' '<<-b/(2*a)<<"-i"<<sqrt(-d)/(2*a)<<endl;
else cout<<"方程有两个不相等实根:"<<-b/(2*a)+sqrt(d)/(2*a)<<' '<<-b/(2*a)+sqrt(d)/(2*a)<<endl;
cout<<"继续?(y/n):";cin>>ch;
}while(ch=='y'||ch=='Y');
}
tiantang07051
推荐于2018-04-30 · TA获得超过123个赞
知道答主
回答量:121
采纳率:100%
帮助的人:44.3万
展开全部
#include "stdio.h"
#include "math.h"
void main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
float temp=sqrt(b*b-4*a*c);
if(temp<0)
printf("No solutions!");
else if(temp==0)
printf("%f",(-b)/(2*a));
else
printf("%f%f",(-b+temp)/(2*a),(-b-temp)/(2*a));
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式