pascal 编程Description求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果.从主函数输入a、b、c的值.x1为大根,x2为小根.Inputa b cOutput输出两个根,先输出大根,再输出小
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 07:26:39
pascal 编程Description求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果.从主函数输入a、b、c的值.x1为大根,x2为小根.Inputa b cOutput输出两个根,先输出大根,再输出小
pascal 编程
Description
求方程
的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果.从主函数输入a、b、c的值.
x1为大根,x2为小根.
Input
a b c
Output
输出两个根,先输出大根,再输出小根,如果是虚根,先输出虚部正的,再输出虚部负的.(保留3位小数)
如下
x1=?x2=?
输出格式如下:
若为虚数:x1=%.3f+%.3fi x2=%.3f-%.3fi
若不为虚数:x1=%.3f x2=%.3f
Sample Input
4 1 1
Sample Output
x1=-0.125+0.484i x2=-0.125-0.484i
Hint
Source
pascal 编程Description求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果.从主函数输入a、b、c的值.x1为大根,x2为小根.Inputa b cOutput输出两个根,先输出大根,再输出小
如上图,输入、输出的截图
var
a,b,c,x,y,t:double;
begin
readln(a,b,c);
t:=b*b-4*a*c;
if t>0
then begin
x:=-b/(2*a); y:=sqrt(t)/(2*a);
writeln('x1=',x+y:0:3,' x2=',x-y:0:3);
end
else if t=0 then writeln('x=',-b/(2*a):0:3)
else begin
x:=-b/(2*a); y:=sqrt(-t)/(2*a);
writeln('x1=',x:0:3,'+',y:0:3,'i x2=',x:0:3,'-',y:0:3,'i');
end;
end.