作业帮 > 综合 > 作业

用C语言编写程序,输入一元二次方程的系数a,b,c,计算方程的根,要考虑虚根的情况,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/06 05:03:23
用C语言编写程序,输入一元二次方程的系数a,b,c,计算方程的根,要考虑虚根的情况,
对于ax^2+bx+c=0
int panduan(int a,int b,int c)
{
int m;
m=b*b-4*a*c;
return(m);
}
void main()
{int a,b,c,flag,x1,x2,ture,virture;
printf("请依次输入二次方程的系数:\n”);
scanf("%d %d %d",&a,&b,&c);
flag=panduan(a,b,c);
if(flag>0)
{x1=(-b+sqr(flag))/(2*a);
x2=(-b-sqr(flag))/(2*a);
printf("两个不相等的实根为:x1=%d,x2=%d",x1,x2);
}
else if(flag==0)
{x1=-b/(2*a);
printf("两个相等的实根为:x1=x2=%d",x1);
}
else
{ture=-b/(2*a);
virture=sqr(-flag)/(2*a);
printf("两个不相等的虚根为:x1=%d+%di,x2=%d-%di",ture,virture,ture,virture);
}
}
程序的健壮性不是很好,适用于int型的,你可以将所有的变量都改为float,这样就可以处理其他的问题.要求输入绝对正确,3个系数之间以空格隔开!