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 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流
  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验