编写一个程序,其功能为:从键盘输入一元二次方程ax2+bx+c=0的各项系数a、b、c的值,
判断方程实数解的不同情况,分别求解方程,并输出(结果保留两位小数,如无实根给出相应的信息)。应用如下规则:(1)若a、b的值为零,则没有解;(2)若a为零,只有一个实数解...
判断方程实数解的不同情况,分别求解方程,并输出(结果保留两位小数,如无实根给出相应的信息)。
应用如下规则:(1)若a、b的值为零,则没有解;
(2)若a为零,只有一个实数解;
(3)若b2-4ac为负数,则没有实数解;若b2-4ac为正数,有两个实数解;若b2-4ac为零,有两个相等的实数解。 展开
应用如下规则:(1)若a、b的值为零,则没有解;
(2)若a为零,只有一个实数解;
(3)若b2-4ac为负数,则没有实数解;若b2-4ac为正数,有两个实数解;若b2-4ac为零,有两个相等的实数解。 展开
2个回答
展开全部
#include <stdio.h>
#include <math.h>
int main(){
float a,b,c,d,x1,x2;
printf("请输入一元二次方程的三个系数a b c\n");
scanf("%f%f%f",&a,&b,&c);
if (a==0){
if (b==0){
if(c==0)
printf("该方程有任意解\n");
else
printf("该方程无解\n");
}
else{
printf("该方程是一元一次方程,有一个解是:%f\n",-c/b);
}
}
else{
d=b*b-4*a*c;
if(d<0)
printf("该方程无实数根\n");
else if(d==0){
printf("该方程有2个相等的实根是x1=x2=%f\n",-b/2/a);
}
else{
printf("该方程有2个不等实根,分别是\n");
x1=(-b+sqrt(d))/2/a;
x2=(-b-sqrt(d))/2/a;
printf("x1=%f\nx2=%f\n",x1,x2);
}
}
}
展开全部
什么语言啊
追问
C语言
追答
#include <stdio.h>
#include <math.h>
int main(int argc, char*argv[])
{
int a, b, c;
float d, x1, x2;
scanf("%d%d%d", &a, &b, &c);
d = b * b - 4 * a*c;
if (d >= 0)
{
x1 = (-b + sqrt(d)) / 2*a;
x2 = (-b - sqrt(d)) / 2*a;
printf("x1=%f,x2=%f\n", x1, x2);
}
else
{
printf("无实数解\n");
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询