回覆列表
  • 1 # YAO大神

    #include <stdio.h>

    #include <math.h>

    void main()

    {

    float a,b,c;

    float disc,x1,x2,realpart,imagpart;

    printf("請輸入係數a、b、c(以空格隔開):\n");

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

    printf("The equation is:%fx^2+%fx+%f=0\n",a,b,c);

    printf("The root of the equation is:\n");

    if(a==0) /*二次項係數為0,即為一元一次方程的情況*/

    {

    if(b==0&&c!=0)

    printf("無解!\n");

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

    printf("解是任意的.\n");

    else

    printf("%f\n",(-c)/b);

    }

    else /*接下來,是a不為0的情況*/

    {

    disc=b*b-4*a*c;

    if(disc==0) /*判別式等於0時*/

    printf("%f\n",(-b)/(2*a));

    else if(disc>0) /*判別式大於0時*/

    {

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

    x2=(-b-sqrt(disc))/(2*a);

    printf("%f and %f\n",x1,x2);

    }

    else /*最後是判別式小於0,有兩個複數解*/

    {

    realpart=-b/(2*a);

    imagpart=sqrt(-disc)/(2*a);

    printf("complex roots:\n");

    printf("%f+%fi\n",realpart,imagpart);

    printf("%f-%fi\n",realpart,imagpart);

    }

    }

    }

  • 中秋節和大豐收的關聯?
  • 寶寶三天都沒有拉屎,正常嘛?