HZ13409686327 发表于 2021-10-16 16:55

这个哪里有问题啊

#include<stdio.h>{:1_901:}
#include <math.h>

int main(void)
{float a,b,c,delta,x1,x2;
scanf("%f %f %f",&a,&b,&c);
delta=b*b-4*a*c;
if (delta<0)
    printf("no answer");
else if("delta>0")x1=-b-sqrt(delta)/(2*a), x2=-b+(sqrt)delta/(2*a)
    printf("%f %f",x1,x2);
else(delta==0) x1=x2=-b/(2*a)
    printf("%f",x1);
return 0;}

苏紫方璇 发表于 2021-10-16 17:07

或许是这样
#include<stdio.h>
#include <math.h>

int main(void)
{
        float a, b, c, delta, x1, x2;
        scanf("%f %f %f", &a, &b, &c);
        delta = b*b - 4 * a*c;
        if (delta < 0)
                printf("no answer");
        else if (delta > 0)
        {
                x1 = -b - sqrt(delta) / (2 * a), x2 = -b + sqrt(delta) / (2 * a);
                        printf("%f %f", x1, x2);
        }
        else
        {
                x1 = x2 = -b / (2 * a);
                        printf("%f", x1);
        }
        return 0;
}

0052Hz 发表于 2021-10-16 17:12

delta>0的时候你公式是不是有问题?不应该是(-b±√delta)/2a吗?你把括号忘了吧?{:301_1009:}然后就是二楼说的那个问题了

woflant 发表于 2021-10-16 17:26

建议if、else后面还是接上“{}”括号,大概改了下
#include <stdio.h>
#include <math.h>
int main()
{
        float a,b,c,delta,x1,x2;
        scanf("%f %f %f",&a,&b,&c);
        delta=b*b-4*a*c;
        if (delta<0)
        {
                printf("no answer");
        }else if(delta>0)
        {
                x1=-b-sqrt(delta)/(2*a);
                x2=-b-sqrt(delta)/(2*a);
                printf("%f %f",x1,x2);
        }else if (delta==0)
        {
                x1=x2=b/(2*a);
                printf("%f",x1);
        }
        return 0;
}

HZ13409686327 发表于 2021-10-16 17:31

0052Hz 发表于 2021-10-16 17:12
delta>0的时候你公式是不是有问题?不应该是(-b±√delta)/2a吗?你把括号忘了吧?然后就是二 ...

终于对了,感谢

HZ13409686327 发表于 2021-10-16 17:32

苏紫方璇 发表于 2021-10-16 17:07
或许是这样
#include
#include


没有问题了

hldj123 发表于 2021-10-16 18:42

中括号呢?
页: [1]
查看完整版本: 这个哪里有问题啊