c语言一元二次方程 ii(分支嵌套),C程序设计——求一元二次方程算法

要求:从键盘上输入一元二次方程的三个参数,编程判断并求一元二次方程的实根(a,b,c均为整数)

算法分析:

一元二次方程是只含有一个未知数,且未知数的最高次数是二次的多项式方程。

一元二次方程经过整理都可化成一般形式ax²+bx+c=0(a≠0),其中ax²叫作二次项,a是二次项系数;bx叫作一次项,b是一次项系数;c叫作常数项。

1ed9fdc5a3a4d84e4f1ec34184d9f61a.png

(1)一元二次方程的解(根)的意义:能使一元二次方程左右两边相等的未知数的值称为一元二次方程的解。一般情况下,一元二次方程的解也称为一元二次方程的根(只含有一个未知数的方程的解也叫做这个方程的根)

(2)由代数基本定理,一元二次方程有且仅有两个根(重根按重数计算),根的情况由判别式(△=b²-4ac)决定。

判别式

利用一元二次方程根的判别式(△=b²-4ac)可以判断方程的根的情况。一元二次方程的根与根的判别式有如下关系:

①当 △>0  时,方程有两个不相等的实数根;

②当 △=0 时,方程有两个相等的实数根;

③当 △<0 时,方程无实数根,但有2个共轭复根。

代码实现:

#include

#include

#include

main()

{

int a,b,c,dt;

printf("请输入方程的三个参数a,b,c的值:\n");

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

dt=b*b-4*a*c;

if(dt>0)

printf("X1=%f X2=%f\n",(-b+sqrt(dt))/(2*a)),(-b-sqrt(dt)/(2*a));

else if(dt=0)

printf("X1=X2=%f\n",(float)-b/(2*a));

else

printf("方程无实数根!\n");

getch();

}

程序运行测试:

(1)△<0 方程无实数根

304b5ab520e706f7fd82c272cedea806.png

(2)△>0方程有两个不相等的实数根

8356f67ddafc4f36948f2d117dbed90d.png

(3)△=0 方程有两个相等的实数根

2a3749525b7b8e5df70a31357714fa08.png

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值