① 关于二次方程的c语言程序
这个问题很简单
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,d;
float x1,x2;
scanf("%f %f %f",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
{
printf("on!\n");
}
else
if(d==0)
{
x1=(-b/(2*a));
printf("%f\n",x1);
}
else
if(d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("X1=%f\nX2=%f\n",x1,x2);
}
}
② C语言求解一元二次方程代码问题
d就是解方程时的△,我觉得你应该再看看这部分。。。当△大于、小于、等于0时都有解的。。。
当Δ=b^2-4ac>0时,求根公式为x1=[-b+√(b^2-4ac)]/2a,x2=[-b-√(b^2-4ac)]/2a(两个不相等的实数根)
当Δ=b^2-4ac=0时,求根公式为x1=x2=-b/2a(两个相等的实数根)
当Δ=b^2-4ac<0时,求根公式为x1=[-b+√(4ac-b^2)i]/2a,x2=[-b-√(4ac-b^2)i]/2a
③ C语言二次方程的求根公式
浮尘说的不错,但是需要判断一下b*b-4ac的值。b*b-4ac>0,有2个不相等的实根,b*b-4ac=0,有2个相等的实根,b*b-4ac<0则无实根,有2个虚根
④ c语言,求根公式
你的if语句那的括号有问题
#include<stdio.h>
#include<math.h>
intmain(){
doublea,b,c,d,x1,x2;
scanf("%f%f%f",&a,&b,&c);
if(a==0){
if(b==0){
if(c==0)
printf("该式为恒等式 ");
else
printf("该式不成立,请重新输入a,b,c ");
}else{
x1=c/b;
printf("x1=x2=%f ",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,虚根 ",x1,x2);
}else{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f ",x1,x2);
}
return0;
}
⑤ C语言如何计算求解一元二次方程ax+bx+c=0的根
#include<stdio.h>
#include<math.h>
int fun1(double a,double b,double d)
{ double x1,x2;
x1=(b+sqrt(d))/(-1*2*a);
x2=(b-sqrt(d))/(-1*2*a);
printf("x1=%.2lf x2%.2lf",x1,x2);
}
int fun2(double a,double b,double d)
{double x1,x2;
x1=x2=(b+sqrt(d))/(-2*a);
printf("x1=%.2lf x2=%.2lf",x1,x2);
}
int fun3(double a,double b,double d)
{double x1,x2,y1,y2;
x1=(-b)/(2*a);
y1=sqrt(-d)/(2*a);
x2=(-b)/(2*a);
y2=sqrt(-d)/(2*a);
printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi",x1,y1,x2,y2);
}
int main()
{
double a,b,c,d;
double x1,x2;
scanf("%lf%lf%lf",&a,&b,&c);
d=b*b-4*a*c;//b*b-4*a*c有3中情况,因此定义3个函数来计算3种情况;
if(d>0)
fun1(a,b,d);
if(d==0)
fun2(a,b,d);
if(d<0)//这种情况结果为复数;
fun3(a,b,d);
return 0;
}
⑥ 如何用c程序求一元二次方程的根
只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程。标准形式为:ax²+bx+c=0(a≠0)。
一、开平方法。
形如x²=p 或(nx+m)²=p(p≥0)的一元二次方程可采用开平方法解一元二次方程。
二、配方法。
将一元二次方程配成(x+m)²=n的形式,再利用直接开平方法求解的方法。
用配方法解一元二次方程的步骤:
①把原方程化为一般形式;
②方程两边同除以二次项系数,使二次项系数为1,并把常数项移到方程右边;
③方程两边同时加上一次项系数一半的平方;
④把左边配成一个完全平方式,右边化为一个常数;
⑤进一步通过直接开平方法求出方程的解,如果右边是非负数,则方程有两个实数根。
用求根公式法解一元二次方程的一般步骤为:
①把方程化成一般形式 ,确定a,b,c的值(注意符号);
②求出判别式的值,判断根的情况;
③在Δ≥0的前提下,把a、b、c的值代入公式。
希望我能帮助你解疑释惑。
⑦ 求根公式的c语言表达式是什么
求根公式的c语言程序如下:
#include<stdio.h>
#include<math.h>
int main()
{
float x1,x2,,a,b,c
float deta;
scanf("%f,%f,%f",&a,&b,&c);
deta=b*b-4*a*c;
if(deta<0)
{
printf("方程无解");
}
else
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("x1=%f,x2=%f",x1,c2);
}
return 0;
}
⑧ c语言:求二次函数ax^2+bx+c=0的根
#include<stdio.h>
#include<math.h>
voidmain()
{
floata,b,c,x1,x2,p,q,disc;
printf("inputa,b,c ");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
{
printf("没根 ");
}
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf(" x1=%5.2f x2=%5.2f ",x1,x2);
}
}
你输入的那个方程根本就没有根,这个你需要加一个判断条件,这样才能正确处理求根公式
⑨ c语言基础,求一元二次方程的根
#include<stdio.h>
#include<math.h>
intmain()
{
doublea,b,c;floatd,f;
scanf("%f%f%f",&a,&b,&c);
if((pow(b,2)-4*a*c)>=0)
{//加上花括号
d=(pow(b*b-4*a*c,1/2)-b)/(2*a);
f=(pow(b*b-4*a*c,1/2)+b)/(2*a);
printf("x1=%d,x2=%d",d,f);
}
else
printf("函数无实数根 ");
return0;
}
⑩ c语言里 一元二次方程求根公式怎么写
#include<stdio.h>
#include<math.h>
intmain()
{
floata,b,c,d,x1,x2;
scanf("%f%f%f",&a,&b,&c);//输入三个系数
d=b*b-4*a*c; //计算判别式
if(d<0)printf("无实数根! ");
elseif(d==0)printf("有两个相等的实数根,x1=x2=%g ",-b/(2*a));
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%g x2=%g ",x1,x2);
}
}