用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的两个实根。 展开
当平方根小于0时,输出“No solutions!";否则,输出x的两个实根。 展开
展开全部
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');
}
展开全部
#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));
}
#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));
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询