Cho tệp đatạ. Inp mỗi dòng chứa 1 số nguyên hãy tính trung bình cộng các số

2 câu trả lời

var f: text;

    a: array[1..1000] of integer;

    s: integer;

    i,cs: byte;

begin

    assign(f,'data.inp'); reset(f);

    while not eof(f) do

     begin

          readln(f,a[i]);

          s  := s+a[i];

          cs := cs+1;

      end;

    write('TBC: ',s/cs:6:2);

    readln;

end.

program bai_giai;
uses crt;
var f:text;
    n,t,d:longint;
begin
    clrscr;
    Assign(f,'data.Inp');  reset(f);
    t:=0; d:=0;
    while not eof(f) do
        begin
            readln(f,n);
            t:=t+n; d:=d+1;
        end;
    if d=0 then write(0) else write(t/d:0:2);
    readln;
end.

while not eof(f) do là trong khi chưa kết thúc tệp thì còn thực hiện các công việc phía sau.

phải có if d=0 thì nếu ko có số nào thì thực hiện phép chia sẽ lỗi.

Câu hỏi trong lớp Xem thêm