Bạn dùng pascal hả?
Program Baitap;
Uses Crt;
Const fi='SO.DAT';
Var f: text;
T,x,d: integer;
BEGIN
ClrScr;
T:=0; d:=0; { Cho tổng và biến đếm ban đầu bằng 0}
Assign(f,fi);
Reset(f);
While not EOF(f) do { Trong khi chưa kết thúc file}
Begin
Read(f,x); { Thì đọc vào biến x}
Wrriteln(x); { In ra màn hình x, hoặc cho gọn khi trình bày: WRite(x:6), if d mod 15=0 then WRiteln}
inc(d); { tăng đếm lên 1, tương đương với câu lệnh d:=d+1}
T:=T+x; { Cộng số nguyên mới đọc vào tổng }
End;
Close(f); { đóng file}
Writeln(' So cac so nguyen: ',d);
WRiteln(' Tong cac so: ',T);
Readln
END.
Nếu như đề yêu cầu tính số các số trước, in ra tổng rồi mới in ra từng số thì bạn làm theo cách của Thy Hương, nếu như không cần thiết theo thứ tự đó thì bạn vừa đọc vừa in, tăng đếm, cộng dồn vào tổng như trên là được. Bạn cũng nên chú ý giới hạn kiểu dữ liệu theo yêu cầu đề bài. Ở đây mình dùng integer cho đơn giản.