一个简单的一元二次方程程序的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:44:25
小弟上物理课是突发奇想,想写一个一元二次方程的程序,如下:

//一元二次方程程序,输入a,b,c,x输出对应的y值,方程最值,对称轴和方程图象与x轴的交点
#include <iostream>
#include<math.h>
int main()
{
double a,b,c,x,derta;
std∷string s,s1=max,s2=min;
std∷cout<<"请依次输入y=ax^2+bx+c中的a,b,c,其中a不为0"<<std∷endl;
std∷cin>>a>>b>>c;
std∷cout<<"a为"<<a<<"b为"<<b<<"c为"<<c<<std∷endl;
std∷cout<<"对称轴为x="<<-b/(2*a)<<std∷endl;
if(a > 0){
s=s2;
}else{
s=s1;
}
/*我不知道平方的运算符*/
std∷cout<<"方程最值"<<s<<"为"<<(4*a*c-b*b)/(4*a)<<std∷endl;
/*下面这个不知道对不对,我自己瞎想的*/
derta=b*b-4*a*c;
if(derta >= 0){
while(derta > 0){
std∷cout<<"方程图象与x轴有2个交点:("

/*
修改的2点:1.楼主要求的 如果a = 0 则要求重新输入a,b,c
2.对△判断是楼主的while有错误,本人改了下
*/
#include <iostream>
#include<math.h>
int main()
{
double a=0,b,c,x,derta;
std∷string s,s1=max,s2=min;
std∷cout<<"请依次输入y=ax^2+bx+c中的a,b,c,其中a不为0"<<std∷endl;

std∷cin>>a>>b>>c;

//如果a = 0 则要求重新输入a
while(a==0){
std∷cout<<"a为0,请从新输入a值"<<std∷endl;
std::cin>>a;

}
std∷cout<<"a为"<<a<<"b为"<<b<<"c为"<<c<<std∷endl;
std∷cout<<"对称轴为x="<<-b/(2*a)<<std∷endl;
if(a > 0){
s=s2;
}else{
s=s1;
}
/*我不知道平方的运算符*/
std∷cout<<"方程最值"<<s<<"为"<<(4*a*c-b*b)/(4*a)<<std∷endl;
/*下面这个