#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
scanf("%f,%f,%f",&a,&b,&c);
float x,x1,x2,t,i,j;
t=bb-4ac;
if(a==0)
{
x=-c/b;
printf("不是二次方程:x=%.2f\n",x);
}
else
{
if(t==0)
{
x=-b/(2a);
printf("有两个相等实根:x1=x2=%.2f\n",x);
}
if(t>0)
{
x1=(-b+sqrt(t))/(2a);
x2=(-b-sqrt(t))/(2a);
printf("有两个不等实根:x1=%.2f,x2=%.2f\n",x1,x2);
}
if(t<0)
{
i=-b/(2a);
j=sqrt(fabs(t))/(2a);
printf("有两个共轭复根:x1=%.2f+%.2fi,x2=%.2f-%.2fi\n",i,j,i,j);
}
}
}
一元二次方程,当输入的系数为负数时输出的结果有误
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 改好了
#include<stdio.h> #include<math.h> int main() { float a,b,c; scanf("%f,%f,%f",&a,&b,&c); float x,x1,x2,t,i,j; t= b*b - 4*a*c; printf("%f", t); if(a==0) { x=-c/b; printf("不是二次方程:x=%.2f\n",x); } else { if(t==0) { x=-b/(2*a); printf("有两个相等实根:x1=x2=%.2f\n",x); } if(t>0) { x1=(-b+sqrt(t))/(2*a); x2=(-b-sqrt(t))/(2*a); printf("有两个不等实根:x1=%.2f,x2=%.2f\n",x1,x2); } if(t<0) { i=-b/(2*a); j=sqrt(fabs(t))/(2*a); printf("有两个共轭复根:x1=%.2f+%.2fi,x2=%.2f-%.2fi\n",i,j,i,j); } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作
- ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
- ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
- ¥50 mac mini外接显示器 画质字体模糊
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写
- ¥20 Qcustomplot缩小曲线形状问题
- ¥15 企业资源规划ERP沙盘模拟