为了账号安全,请及时绑定邮箱和手机立即绑定

C语言程序错误

C语言程序错误

C C++
Chihiro咩咩 2016-10-16 22:09:09
  • 问题描述

  • 给定方程的系数a,b,c,求一元二次方程
    a*x^2+b*x+c=0
    的根。
  • 输入

  • 输入只有三个浮点数,之间用空格分开。
  • 输出

  • 如果方程没有实数解,则输出no,
    如果方程有两个相同的实数解,则单独的一行中输出该值,结果保留2位小数。
    如果有两个不同的实数解,则在单独一行中输出,中间用一个空格分开,结果保留2位小数。大的在前,小的在后。

#include <stdio.h>

#include "math.h"

int main()

{

float a,b,c,x1,x2,z;

scanf("%f%f%f",&a,&b,&c);

z=sqrt(b*b-4*a*c);

if(z>0)

{

x1=(-b+z)/(2*a);

x2=(-b-z)/(2*a);

if(x1>x2){

printf("%.2f %.2f\n",x1,x2);

}

else

printf("%.2f %.2f\n",x2,x1);

}

if(z==0)

{

x1=-b/(2*a);

printf("%.2f\n",x1);

}

if(z<0)

{

printf("no\n");

}

我是哪里出错了?

查看完整描述

7 回答

?
蒲公英wsg

TA贡献281条经验 获得超136个赞

我能说最后一行少个“}”,楼主可以试试

查看完整回答
反对 回复 2016-10-17
?
weenhall

TA贡献130条经验 获得超61个赞

先看看提示的是什么错误 ,然后打断点调试

查看完整回答
反对 回复 2016-10-17
?
编程之夜

TA贡献34条经验 获得超73个赞

应该是b平方-4ac吧,不需要开根号
查看完整回答
反对 回复 2016-10-17

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信