注册 登录
编程论坛 C语言论坛

c语言一元二次方程的根这个哪里有问题嘞

a1602388940 发布于 2020-03-23 10:42, 2248 次点击
#include <stdio.h>
#include <math.h>
void main()
{
    double a,b,c,delta,e,f;
    printf("请输入三个系数的值:");
    scanf("%lf %lf %lf",&a,&b,&c);
    delta = b*b-4*a*c;
    if delta >= 0
        if delta > 0
        {
            e = (-b+sqrt(delta))/(2*a);
            printf("方程有两个不等实根%lf,%lf",e,-e);
        }
        else
            printf("方程只有一个实根%lf",e);
    printf("方程没有实根");
}
8 回复
#2
forever742020-03-23 10:48
if后边要括号的
两个根另一个不是-e
一个根e没有赋值
#3
a16023889402020-03-23 10:54
回复 2楼 forever74
只有本站会员才能查看附件,请 登录

我改了下 但这是咋回事
#4
return_02020-03-23 10:55
这个数也太长了吧,我不觉得c语言会支持。。。
#5
a16023889402020-03-23 10:56
回复 4楼 return_0
请输入三个系数的值:1 2 1
方程只有一个实根-92559631349317831000000000000000000000000000000000000000000000.000000
Press any key to continue
我人傻了 该怎么改嘞
#6
a16023889402020-03-23 10:57
回复 2楼 forever74
#include <stdio.h>
#include <math.h>
void main()
{
    double a,b,c,delta,e,f;
    printf("请输入三个系数的值:");
    scanf("%lf %lf %lf",&a,&b,&c);
    delta = b*b-4*a*c;
    if (delta >= 0)
        if (delta > 0)
        {
            e = (-b+sqrt(delta))/(2*a);
            f = (-b-sqrt(delta))/(2*a);
            printf("方程有两个不等实根:%lf,%lf\n",e,f);
        }
        else
            printf("方程只有一个实根:%lf\n",e);
    else   
        printf("方程没有实根\n");
}
#7
return_02020-03-23 11:01
第一个if没有花括号
#8
return_02020-03-23 11:02
加上
#9
a16023889402020-03-23 11:06
回复 8楼 return_0
解决了解决了 谢谢带佬
1