求解方程:
求一元二次方程的根。
ax2+bx+c=0,其中a,b,c为从键盘上键入的三个任意实数。
思路分析:
一:
a=0时,此时方程变为一元一次方程bx+c=0
(1)b不等于0时,x=-c/b
(2)b=0时
(a)若c=0 则x为全体实数
(b)若c不等于0,则方程无解。
二:
a不等于0时,
假设m=bb-4ac
(1)m<0则无解
(2)m>=0 则
x1=(-b+sqrt(m))/(2a)
x2=(-b-sqrt(m))/(2a)
解法1:
program cql8(input,output);
var a,b,c,x1,x2:real;
begin
writeln;
read(a,b,c);
if a<>0 then
if (b*b-4*a*c)>=0 then
begin
x1:=(-b+sqrt(b*b-4*a*c))/(2*a);
x2:=(-b-sqrt(b*b-4*a*c))/(2*a);
write('x1=',x1:8:2);
writeln;
write('x2=2',x2:8:2);
end
else
write('no result')
else
begin
if b<>0 then
begin
x1:=(-c/b);
x2:=(-c/b);
writeln('x1=x2=',x1:8:2)
end
else
if c=0 then
write('x is real')
else
write('no result');
end
end.
------------------------------------------
条条道路通罗马