你的if语句那的括号有问题
#include<stdio.h>#include<math.h>
int main(){
double a,b,c,d,x1,x2
scanf("%f%f%f",&a,&李稿敬b,&c)
if(a==0){
if(b==0){
if(c==0)
哪慎 printf("该式为恒等式\n")
else
printf("该式不成立,请重新输入a,b,c\n")
}else{
x1=c/b
printf("x1=x2=%f\n",x1)
}else
d=b*b-4*a*c
if(d<0){
d=-d
x1=(-b+sqrt(d))/(2*a)
敬坦 x2=(-b-sqrt(d))/(2*a)
printf("x1=%f,x2=%f,虚根\n",x1,x2)
}else{
x1=(-b+sqrt(d))/(2*a)
x2=(-b-sqrt(d))/(2*a)
printf("x1=%f,x2=%f\n",x1,x2)
}
return 0
}
#include 察戚李<iostream>
#include <cmath>
using namespace std
int main()
{float a,b,cfloat x1,x2cin>a>>b>>cfloat dlt=b*b-4*a*cif(dlt>=0){x1=-b/2/a+sqrt(dlt)。
/2/ax2=-b/2/a-sqrt(dlt)/2/a。
cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有两个实根:"cout<<"x1="<<x1<<",x2="<<x2<<endl}
else
{x1=-b/2/ax2=sqrt(-dlt)/2/acout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有两个虚根:"。
cout<<"x="<<x1<<"+/-"<<x2<<"i"<<endl}
return 0。
扩展资料:
成立条件:
一元二次方程成立必须同时满足三个条件:
①是整式方程,即等号两边都是整式,方程中如果有分仔陆母;且未知数在分母上,那么这个方程就是分式方程,不是一元二次方程,方程中如果有根号,且未知数在根号内,那么这个方程也不是一元二次方程(是无理方程)。
②败迟只含有一个未知数;
③未知数项的最高次数是2。
参考资料来源:百度百科-c语言
#include <stdio.h>#include <math.h>
int main(void)
{
double a,b,c,disc,x1,x2,imagpart,realpart,m,n
printf("please input a,b,c(a!=0):\n")
scanf("%lf%lf%lf",&a,&b,&c)
disc = b * b - 4 * a * c
m = - b / (2 * a)
n = sqrt(disc) / (2 * a)
if (fabs(disc) <1e-8)
{
x1 = x2 = m //有两个相等实根
printf("x1=x2=%8.2f\n",x1)
}
else
if (disc >厅唯皮 0)
{
x1 = m + n,x2 = m - n//有两个不等实根
printf("山芦x1=%8.2f\t,x2=%8.2f\n",x1,x2)
}
else
{
realpart = m
imagpart = sqrt(-disc) / (2 * a) /扮差/有两个共轭复根
printf("x1=%8.2f+%.2fi\t,x2=%8.2f-%.2fi\n",realpart,imagpart,realpart,imagpart)
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)