c语言ax2bxc0,c语言程序用函数怎么输出ax2bxc=0?用C语言编号一个程序, 爱问知识人...

该博客展示了如何用C语言编写程序来解决一元二次方程。程序首先从用户那里获取输入的系数a、b和c,然后根据a的值判断方程类型。如果a为0,它会检查b和c来确定是否有实根或无解。如果a不为0,程序计算判别式并根据其值输出方程的根,可能的情况包括两个不等实根、两个相等实根或一对共轭复根。通过示例运行,程序展示了解决不同输入时的正确输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解一元二次方程a x2 b x c = 0,a、b、c由键盘输入。

分析:对系数a、b、c考虑以下情形

1) 若a = 0:

① b 0,则x=-c/b ;

② b = 0, 则:① c = 0, 则x无定根;

② c 0,则x无解。

2) 若a 0 ;

① b2-4 a c > 0,有两个不等的实根;

② b2-4 a c = 0,有两个相等的实根;

③ b2-4 a c

#include

main( )

{

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

double t;

printf(" please input a,b,c:");

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

if (a==0。

0)

if(b != 0。0)

printf("the root is :%f

",-c/b);

else if (c==0。

0)

printf("x is inexactive

");

else

printf("no root!

");

else

{

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

if(s > = 0。

0)

if(s > 0。0)

{

t = sqrt( s ) ;

x1 = -0。

5 *(b t) / a;

x 2 = - 0。5 * ( b - t ) / a ;

printf("There are two different roots:%f and%f

" ,x 1 , x 2 ) ;

}

else

printf("There are two equal roots:%f

",-0。

5*b/a);

else

{

t = sqrt( -s );

x1=-0。5*b/a; / *实部* /

x2=abs(0。

5*t/a); /*虚部的绝对值* /

printf("There are two virtual roots:");

printf("%f i%f%f-i%f

",x1,x2,x1,x2 );

}

}

}

运行结果如下:

please input a,b,c : 1 2 3

There are two virtual roots:

-1。

000000 i 1。000000 -1。000000 - i 1。000000

please input a,b,c : 2 5 3

There are two different roots : -1。

500000 and -1。000000

please input a,b,c : 0 0 3

No root!。

全部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值