Ⅰ 用c语言编写求一元二次方程根的程序,条件要判断的充分怎么做
用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);
}
Ⅱ 如何用C语言编写一程序求解一元二次方程的根
C语言编写一程序求解一元二次方程的根:
#include<stdio.h>
#include<math.h>
void m(float a,float b,float c)
{
double x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("方程的根是%.2lf和%.2lf",x1,x2);
}
void n(float a,float b,float c)
{
double x;
x=(-b)/(2*a);
printf("方程的根为%.2lf",x);
}
void f(float a,float b,float c)
{
printf("方程无实数根 ");
}
main()
{
float a,b,c;
printf("请输入a,b,c的值 ");
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c>0)
m(a,b,c);
if(b*b-4*a*c==0)
n(a,b,c);
if(b*b-4*a*c<0)
f(a,b,c);
}
Ⅲ 用C语言中,如何用调用函数编写求一元二次方程的根
int GetRoot(float a, float b, float c ,double* root){
double delta, deltasqrt ;
delta = b* b - 4*a*c ;
if(delta<0) return 0 ;
deltasqrt = sqrt(delta) ;
if (a!=0.0){
root[0] = (deltasqrt - b)/(2.0*a) ;
root[1] = (-deltasqrt - b)/(2.0*a) ;
}
if (root[0] == root[1]) return 1;
else return 2 ;
}
int main(void){
//计算方程的根
float a = 2.0,b =6.0,c=3.0 ;//a,b,c s是参数
double root[2] ;//root是得到的两个根
int n = GetRoot(a,b,c,root) ;
if (n<1){
printf("方程无根") ;
}else{
printf("方程的解为:%f,%f",root[0],root[1]) ;
}
}
Ⅳ C语言编程 求一元二次方程的根 !!!
#include<stdio.h>
#include<math.h>
voidmain()
{
floata,b,c,dlt;
scanf("%f%f%f",&a,&b,&c);
if(a)
{
dlt=b*b-a*c*4;
if(dlt>0)
printf("x1=%.2f x2=%.2f",(-b+sqrt(dlt))/(a*2),(-b-sqrt(dlt))/(a*2));
elseif(dlt<0)
printf("x1=%.2f+%.2fi x2=%.2f-%.2fi",-b/(a*2),abs(sqrt(-dlt)/(a*2)),-b/(a*2),abs(sqrt(-dlt)/(a*2)));
elseprintf("x=%.2f",-b/(a*2));
}
else
{
if(b)c?printf("x=%.2f",-c/b):printf("x=%.2f",abs(-c/b));
elsec?printf("NotAnEquation"):printf("ZeroEquation");
}
}
Ⅳ 用C语言编写求一元二次方程根的程序
#include<stdio.h>
#include<math.h>
intmain()
{
doublea,b,c,disc,x1,x2,realpart,imagpart;
scanf("%lf%lf%lf",&a,&b,&c);
printf("Theequation");
if(fabs(a)<=1e-6)
printf("isnotaquadratic ");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("hastwoequalroots:%8.4f ",-b/(2*a));
else
if(disc>0)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("hasdistinctrealroots:%8.4fand%8.4f ",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("hascomplexroots: ");
printf("%8.4f+%8.4fi ",realpart,imagpart);
printf("%8.4f-%8.4fi ",realpart,imagpart);
}
}
return0;
}
Ⅵ c语言求二次函数的根
#include <stdio.h>
int main(void)
{
double a,b,c,d,e;
double x1,x2;
printf("请输入ax^2+bx +c = 0中a,b,c的值");
scanf("%lf,%lf,%lf",&a,&b,&c);
e = b * b - 4 * a * c;
if (e<0) {
printf("无解,请重新输入\n");
scanf("%lf,%lf,%lf",&a,&b,&c);
}
printf("输入正确,正在计算....\n");
d = sqrt(e);
x1 = (-b + d)/(2 * a);
x2 = (-b - d)/(2 * a);
printf("x1=%f\n",x1);
printf("x2=%f\n",x2);
return 0;
}
Ⅶ C语言编写一个求一元二次方程的实根的程序。
#include<stdio.h>
#include<math.h>
intmain()
{
inta,b,c;
intx1,x2;
intd;
printf("请输入方程的三个系数:");
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("方程有两个不相等的根为:%d,%d ",x1,x2);
}
elseif(d=0)
{
x1=x2=(-b)/(2*a);
printf("方程有两个相等的根为:%d ",x1);
}
elseif(d<0)
{
printf("方程没有实根 ");
}
return0;
}
Ⅷ c语言:求二次函数ax^2+bx+c=0的根
<pre t="code" l="cpp">#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, jud;
printf ("输入二次方程的三个系数(第一个不能为0):");
scanf ("%f %f %f", a, b, c);
jud = b * b - 4 * a * c; //根的判别式
if (jud > 0)
{
printf ("该方程有两个不相等的实根:\n");
printf ("x1 = %.2f\n",(-b + sqrt (jud)) / (2 * a));
printf ("x2 = %.2f\n", (-b - sqrt (jud)) / (2 * a));
}
else if (jud == 0)
{
printf ("该方程有两个相等的实根:\n");
printf ( "x1 = x2 = %.2f\n", -b / (2 * a));
}
else
printf ("This equation haven't real root\n");
return 0;
}
Ⅸ 用C语言编写一程序求解一元二次方程的根。
#include<stdio.h>
#include<math.h>
void m(float a,float b,float c)
{
double x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("方程的根是%.2lf和%.2lf",x1,x2);
}
void n(float a,float b,float c)
{
double x;
x=(-b)/(2*a);
printf("方程的根为%.2lf",x);
}
void f(float a,float b,float c)
{
printf("方程无实数根\n");
}
main()
{
float a,b,c;
printf("请输入a,b,c的值\n");
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c>0)
m(a,b,c);
if(b*b-4*a*c==0)
n(a,b,c);
if(b*b-4*a*c<0)
f(a,b,c);
}
Ⅹ 用C语言编程求一元二次函数的根,用3个函数分别求当判别式大于,小于,等于0的值,从主函数输入a,b,c的值
#include <stdio.h>
#include <math.h>/*用到数学函数时要把这个包含进来*/
int main(void)
{
int a,b,c;
double X,X1,X2;
printf("Input a:");
scanf("%d",&a); /*%f改成%d*/
printf("Input b:");
scanf("%d",&b); /*%f改成%d*/
printf("Input c:");
scanf("%d",&c); /*%f改成%d*/
if (a==0) /*=改成==*/
printf("该方程不是一元二次方程");
else if ((b*b-4*a*c)<0)
printf("该方程无解");
else if ((b*b-4*a*c)==0)/*应该是先判断后计算*/
{
X=(double)(-b/(2*a));
printf("X= %lf",X);)/*double的格式输出符对应是%lf*/
}
else if ((b*b-4*a*c)>0)
{
X1=(double)((-b+sqrt(b*b-4*a*c))/(2*a));
X2=(double)((-b-sqrt(b*b-4*a*c))/(2*a));
printf("X1=%lf, X2=%lf",X1,X2);
}
getch();
return 0;
}