用C语言编写求一元二次方程根的程序

条件要判断的充分... 条件要判断的充分 展开
 我来答
河口飞燕
2018-04-13 · TA获得超过1.6万个赞
知道小有建树答主
回答量:64
采纳率:100%
帮助的人:9367
展开全部

用C语言编写求一元二次方程根的程序,条件判断的充分,步骤如下:

void main()
{
float a,b,c,delta;
scanf("%f%f%f",&a,&b,&c);
if(a!=0)
{
delta=b*b-4*a*c;
if(delta==0)
printf("x1=x2=%7.2f",-b/(2*a));
else if(delta>0)
{
printf("x1=%7.2f",(-b+sqrt(delta))/(2*a));
printf("x2=%7.2f",(-b-sqrt(delta))/(2*a));
}
else
{
printf("x1=%7.2f+i%7.2f",-b/(2*a),sqrt(-delta)/(2*a));
printf("x2=%7.2f-i%7.2f",-b/(2*a),sqrt(-delta)/(2*a));
}
}
else if(b!=0)
printf("x=%7.2f",-c/b);
else if(c==0)
printf("0=0,x为任意解
");
else
printf("%f=0,error!",c);
}

Arthurzss
2013-11-27 · TA获得超过1661个赞
知道小有建树答主
回答量:496
采纳率:100%
帮助的人:236万
展开全部
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c,disc,x1,x2,realpart,imagpart;
scanf("%lf%lf%lf",&a,&b,&c);
printf("The equation");
if (fabs(a)<=1e-6)
printf(" is not a quadratic\n");
else
{
disc=b*b-4*a*c;
if (fabs(disc)<=1e-6)
printf(" has two equal roots:%8.4f\n",-b/(2*a));
else
if (disc>0)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf(" has distinct real roots:%8.4f and %8.4f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf(" has complex roots:\n");
printf("%8.4f+%8.4fi\n",realpart,imagpart);
printf("%8.4f-%8.4fi\n",realpart,imagpart);
}
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2cbb7ff
2013-11-27 · TA获得超过232个赞
知道小有建树答主
回答量:79
采纳率:0%
帮助的人:85.3万
展开全部
#include "stdio.h"
#include "math.h"
double x1,x2,p;

float file1(float a,float b)
{
x1=(-b+sqrt(p))/2*a;
x2=(-b-sqrt(p))/2*a;
return 0;
}

float file2(float a,float b)
{
x1=x2=(-b+sqrt(p))/2*a;
return 0;
}

void main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
p=b*b-4*a*c;
printf("方程是:%.3f*x*x+%.3f*x+%.3f=0\n",a,b,c);
if(p>0)
{
file1(a,b);
printf("X1=%f\tX2=%f\n",x1,x2);
}
else if(p==0)
{
file2(a,b);
printf("X1=%f\tX2=%f\n",x1,x2);
}
else printf("方程无解");
}

运行正确 输入: 2 3.7 1.2
输出 X1=-1.677625 X2=-5.722375
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyx57595
2020-10-18
知道答主
回答量:11
采纳率:0%
帮助的人:1.4万
展开全部
#include<stdio.h>
#include<math.h>
int main(void)
{
float a,b,c;
double x1,x2;
double delta;
printf("输入a,b,c数值:\n");
scanf("%f%f%f",&a,&b,&c);

if (a!=0)
{delta=pow(b,2)-4*a*c;
if(delta==0){

printf("x1=x2=%.2f\n",-b/(2*a));}

if(delta>0) {

x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("x1=%.2f x2=%.2f\n",x1,x2);}

if(delta<0) {

printf("无解!\n");}

}
return 0 ;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式