zhubeishenglaoban 2022-12-23 12:18 采纳率: 88.2%
浏览 31
已结题

如何写一个函数计算二次方程的根,并用一个大小为2的数组用于存储,而这个函数则要返回一个整数变量标志

img


以上是问题及其翻译,新生一枚不知道如何去写,麻烦学长学姐帮忙编写一下程序,谢谢了🙏

  • 写回答

3条回答 默认 最新

  • 关注
    
    #include <stdio.h>
    #include <math.h>
    int cal(double a,double b,double c){
        double delta,x[2],m,n,i,j;
        if (fabs(a) <= 1e-6){
            if (fabs(b) <= 1e-6)
                puts("Not an equation");
            else
                printf("%.2lf",-c/b);
        }
        else{
            delta=b*b - 4*a*c;
            m = -b / (2*a);
            n = sqrt(fabs(delta)) / (2*fabs(a));
            i = m + n;
            j = m - n;
    
            if (delta < 0)
                printf("%.2lf+%.2lfi %.2lf-%.2lfi",m,n,m,n);
            else {
                    if (i == j)
                     printf("%.2lf %.2lf",i,i);
                     else {
                            x[0] = (i > j) ? i : j;
                        x[1] = (i > j) ? j : i;
                        printf("%.2lf %.2lf \n", x[0], x[1]);
                      }
             }
        }
        printf("\n");
        if(a==0&&b==0&&c==0)
            return 0;
        else if(a==0&&b==0&&c!=0)
            return 1;
        else if(a==0&&b==0)
            return 2;
        else if(b*b-4*a*c>=0)
            return 3;
        else
            return 4;
    }
    int main()
    {
        double a,b,c;
        scanf("%lf%lf%lf",&a,&b,&c);
        printf("%d",cal(a,b,c));
                return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月23日
  • 已采纳回答 12月23日
  • 创建了问题 12月23日

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要