• 求解方程式


    比如方程式ax*x+bx+c=0;
    其中需要讨论的情况有以下几种:
    1、a=0时不是二次方程;
    2、b*b-4*a*c=0,有两个相等实根;
    3、b*b-4*a*c>0,有两个不等实根;
    4、b*b-4*a*c<0,有两个共轭复根;
    代码实现如下
    #include<stdio.h>
    #include<math.h>
    int main()
    {
        float a,b,c,disc,x1,x2,realpart,imagpart;
        scanf("%f%f%f",&a,&b,&c);
        printf("The equation");
        if(fabs(a)<=1e-6)
            printf("这不是一个二次方程式\n");
        else
        {
            disc=b*b-4*a*c;
            if(fabs(disc)<=1e-6)
                printf("有两个相等实根%8.4f\n",-b/(2*a));
            else
                if(disc>1e-6)
              {
                x1=(-b+sqrt(disc))/(2*a);
                x2=(-b-sqrt(disc))/(2*a);
                printf("有不同的实根%8.4fand%8.4f\n");
              }
            else
               {
                realpart=-b/(2*a);
                imagpart=sqrt(-disc)/(2*a);
                printf("拥有复数根\n");
                printf("%8.4f+%8.4fi\n",realpart,imagpart);
                printf("%8.4f-%8.4fi\n",realpart,imagpart);
               }
        }
    }

  • 相关阅读:
    ExportToExcel(工作笔记)
    EXCEL中的公式
    HTML基础(二)
    .NET开发人员必知的八个网站
    HTML基础(一)
    Extjs学习笔记(消息框)
    The diff between throw and throw e
    工作中遇到的一些小知识点(备查)
    ASP.NET页面在IE缓存问题的解决
    URL中的"#"
  • 原文地址:https://www.cnblogs.com/ywj2013/p/3111860.html
Copyright © 2020-2023  润新知