娄山中学noip吧 关注:137贴子:1,769
  • 1回复贴,共1

有空的学霸们来帮帮我

取消只看楼主收藏回复

我们假定二元一次方程组的一般格式如下:(a,b,c,d,e,f为常数,x,y为未知数)
    ax+by=c
    dx+ey=f
  程序读入a,b,c,d,e,f后,输出解。
  当然,方程组也有可能存在无解或有无穷解的情况:如果(x,y)没有相对应的实数对满足方程组则无解;相反,如果(x,y)有多组对应的实数对满足方程组则有无数解。
  如果无解,就输出“No answer”;如果有无穷解,就输出“Too many”。
输入仅1行,包含6个整数,a,b,c,d,e,f。如果有解,那么第1行先输出“x=”,再输出x的值,第2行先输出“y=”,再输出y的值,均保留2位小数,请参照样例输出。
  如果无解或有无数解则按要求输出“No answer”或“Too many”。


1楼2014-06-23 18:53回复
    忘了附上错的代码:
    var
    a,b,c,d,e,f,x,y:real;
    begin
    while not eof do begin
    readln(a,b,c,d,e,f);
    if (a*e-b*d=0) and ((c*e-b*f<>0) or (a*f-c*d<>0)) then writeln('No answer')
    else if (c*e-b*f=0) or (a*f-c*d=0) then writeln('Too many')
    else begin
    y:=(a*f-c*d)/(a*e-b*d);
    x:=(b*d-a*e)/(f*b-c*e);
    writeln('x=',x:0:2);
    writeln('y=',y:0:2);
    end;
    end;
    end.


    2楼2014-06-23 20:29
    收起回复