var a: array[1..20] of integer; i: byte; tong1, tong2: real; begin for i:=1 to 20 do begin write('Nhap gia tri cho phan tu thu ',i,': '); readln(a[i]); end; for i:=1 to 20 do if (a[i] mod 5 = 0) then tong1:=tong1+a[i]; writeln('Tong la : ',tong1); Tại sao không thể khia báo tong1, tong2 kiểu real ?

2 câu trả lời

Bạn xem hình

+Bạn khai báo mảng, các phần tử của mảng là integer nên thực chất bạn không cần real làm tốn dung lượng bộ nhớ.

+Khi bạn in ra theo kiểu real thì bạn cần phải có cú pháp in kiểu số thực

số: số lượng khoảng cách: số lượng phần thập phân (bạn không cần quan tâm số lượng khoảng cách)

VD: n=36.2154

write(n:2:2) thì in ra sẽ là 36.21

+ Nếu bạn dùng real thì hoàn toàn được không sao cả.

*Mà tại sao bạn lại khai báo thêm tong2 chi cho tốn thêm dung lượng bộ nhớ.

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