编写一个程序,其功能为:从键盘输入一元二次方程ax2+bx+c=0的各项系数a、b、c的值,

判断方程实数解的不同情况,分别求解方程,并输出(结果保留两位小数,如无实根给出相应的信息)。应用如下规则:(1)若a、b的值为零,则没有解;(2)若a为零,只有一个实数解... 判断方程实数解的不同情况,分别求解方程,并输出(结果保留两位小数,如无实根给出相应的信息)。
应用如下规则:(1)若a、b的值为零,则没有解;
(2)若a为零,只有一个实数解;
(3)若b2-4ac为负数,则没有实数解;若b2-4ac为正数,有两个实数解;若b2-4ac为零,有两个相等的实数解。
展开
 我来答
mr_shj
2018-05-19 · TA获得超过2682个赞
知道大有可为答主
回答量:1665
采纳率:94%
帮助的人:1387万
展开全部
#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);
}
}
}
zh...2@163.com
2018-05-19 · 超过17用户采纳过TA的回答
知道答主
回答量:94
采纳率:12%
帮助的人:26.5万
展开全部
什么语言啊
追问
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式