食色人物. 2022-01-12 04:49 采纳率: 33.3%
浏览 27
已结题

关于ac^2+bx+c=0的方程

麻烦大神帮我看一下是不是我的代码写错了
运行出来的结果总是-4.999…

img

img

  • 写回答

1条回答 默认 最新

  • Code_流苏 C/C++领域优质创作者 2022-01-12 05:14
    关注

    题主思路是有的,就是可能没有考虑全面,if后直接else是不对的,因为分三种情况
    可看一下下面代码的实现:

    
    #include <stdio.h>
    #include <math.h>
    int main()
    {
        float a,b,c,dis,x1,x2;
        printf("请输入a,b,c的值: ");
        scanf("%f %f %f",&a,&b,&c);
        dis=b*b-4*a*c;
        if(dis<0)
        {
            printf("该函数无实根。\n");
            return 0;
        }
        else if(dis==0)
        {
            x1=x2=(-b)/(a*a);
            printf("该函数有两个相等的实根:\n");
        }
        else 
        {
            x1=(-b+sqrt(dis))/(2*a);
            x2=(-b-sqrt(dis))/(2*a);
            printf("该函数有两个不等的实根:");
        }
        printf("x1=%f x2=%f\n",x1,x2);
        return 0;
    }
    

    运行结果:

    img


    希望对题主有所帮助,望采纳!!

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    食色人物. 2022-01-12 14:15

    感谢

    回复
    Code_流苏 回复 食色人物. 2022-01-12 14:21

    不客气的,问题解决了就好。

    回复
    Code_流苏 回复 食色人物. 2022-01-12 14:22

    如果对您有帮助的话,帮忙点下采纳!

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 1月19日
  • 已采纳回答 1月12日
  • 创建了问题 1月12日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部