为啥输出出来是#啊?

月半明时_ 2023-11-04 13:46:16

 #include<stdio.h> 
#include<math.h>
int main()
{
    double a,b,c,disc,x1,x2,m,n,p;
    scanf("%lf%lf%lf",&a,&b,&c);
    disc=b*b-4*a*c;
    if(a==0&&b==0)
    printf("Not an equation");
    if(a==0&&b!=0){p=-c/b;
     printf("%.2lf",p);}
    if(a!=0)
    {
        m=-b/(2*a);
        if(disc==0) printf("%.2lf",m);
        if(disc>1e-6) 
        {
            n=sqrt(disc)/(2*a);
            x1=m+n;x2=m-n;
            if(x1>x2)
            {
            printf("%.2lf %.2lf",x1,x2);}
            if(x1<x2)
            {
                printf("%.2lf %.2lf",x2,x1);
            }
        }
        if(disc<0)
        {
            n=sqrt(disc)/(2*a);
            printf("%.2lf+%.2lfi%.2lf-%.2lfi",m,n,m,n);
        }
}
    return 0;
}

 

...全文
1153 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-11-04
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/8023869, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
cccclcdd 2023-11-04
  • 打赏
  • 举报
回复 1

改成 if(disc<0)
{
n=sqrt(-disc)/(2*a);//加负号
printf("%.2lf+%.2lfi %.2lf-%.2lfi",m,n,m,n);//中间有空格
}

cccclcdd 2023-11-04
  • 打赏
  • 举报
回复 1

最后的disc小于0不能开根号

33,322

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧