C语言写二次函数

Python014

C语言写二次函数,第1张

首先你已经很清楚的说明了你这个程序是用C语言写二次函数的,而当a=0时,就不是二次函数了,应该按照一次函数来进行计算,否则 一个数除以0就没有意义了.~

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

float a,b,c

float x1,x2,m

printf("input number a=:")

scanf("%f",&a)

printf("input number b=:")

scanf("%f",&b)

printf("input number c=:")

scanf("%f",&c)

if(a==0)

printf("一根:%f\n",c*(-1)/b)

else if(a==0&&b==0)

printf("无意义!")

else

{

m=b*b-4*a*c

if(m>0)

{

printf("两根\n")

printf("x1=%f\n",(-b+sqrt(m))/(2*a))

printf("x2=%f\n",(-b-sqrt(m))/(2*a))

}

else if(m==0)

printf("x1=x2=%f\n",x1)

}

else

printf("无实根\n")

}

return 0

}

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

float a,b,c

float x1,x2,m

printf("input number a=:")

scanf("%f",&a)

printf("input number b=:")

scanf("%f",&b)

printf("input number c=:")

scanf("%f",&c)

m=b*b-4*a*c

if(m>=0&&a!=0){

if(m>0){

x1=(-b+sqrt(m))/(2*a)

x2=(-b-sqrt(m))/(2*a)

printf("两根\n")

printf("x1=%f\n",x1)

printf("x2=%f\n",x2)}

else

printf("一根\n")

printf("x1=x2=%f\n",x1)}

else

{

if(a=0 &&b!=0)printf("根是x=-c/b")

if(a=0&&b=0) printf("为常函数");

if(a!=0)printf("无根\n")

}

system("PAUSE")

return 0}

#include <stdio.h>

#include <math.h>

void main()

{    

    float a,b,c,x1,x2,p,q,disc    

    printf("input a,b,c\n")    

    scanf("a=%f,b=%f,c=%f",&a,&b,&c)    

    disc=b*b-4*a*c

    if (disc<0)

    {

        printf("没根\n")

    }

    else

    {

        p=-b/(2*a)    

        q=sqrt(disc)/(2*a)    

        x1=p+q    

        x2=p-q    

        printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2)

    }

}

你输入的那个方程根本就没有根,这个你需要加一个判断条件,这样才能正确处理求根公式