Bài tập  /  Bài đang cần trả lời

Dãy số. Viết chương trình nhập dãy n số nguyên từ bàn phím, in ra màn hình:

LẬP TRÌNH PASCAL
Bài 1: Dãy số. Viết chương trình nhập dãy n số nguyên từ bàn phím, in ra màn hình: + Các số chính phương của dãy và số lượng của chúng. + Các số của dãy có giá trị lớn hơn trung bình cộng của dãy trên; + Các số nguyên x không thuộc dãy trên sao cho a < x < b (Với a, b lần lượt là số bé nhất, lớn nhất trong dãy trên); Ví dụ: Với n = 7 và dãy số được nhập là: 4; -3; 1; -2; 2; 7; 5 thì in ra kết quả: Co 2 so chinh phuong: 4; 1 Cac so lon hon TBC: 4; 7; 5 Cac so khong thuoc day: -1; 0; 3; 6
1 trả lời
Hỏi chi tiết
74
Tham khảo câu trả lời từ Trợ lý ảo Lazi
```pascal
program Bai1_DaySo;
var
n, i, sum, count, min, max: integer;
arr: array[1..100] of integer;
avg: real;

function isPerfectSquare(num: integer): boolean;
var
sqrtNum: integer;
begin
sqrtNum := trunc(sqrt(num));
isPerfectSquare := sqrtNum * sqrtNum = num;
end;

begin
write('Nhap so phan tu cua day: ');
readln(n);

sum := 0;
min := maxint;
max := -maxint;

for i := 1 to n do
begin
write('Nhap phan tu thu ', i, ': ');
readln(arr[i]);

sum := sum + arr[i];

if arr[i] < min then
min := arr[i];
if arr[i] > max then
max := arr[i];
end;

avg := sum / n;

writeln('Cac so chinh phuong cua day:');
count := 0;
for i := 1 to n do
begin
if isPerfectSquare(arr[i]) then
begin
write(arr[i], ' ');
count := count + 1;
end;
end;
writeln;
writeln('So luong: ', count);

writeln('Cac so lon hon trung binh cong cua day:');
for i := 1 to n do
begin
if arr[i] > avg then
write(arr[i], ' ');
end;
writeln;

writeln('Cac so khong thuoc day:');
for i := min + 1 to max - 1 do
begin
if not (i in arr) then
write(i, ' ');
end;

end.
```
Bạn có thể sao chép mã code trên và chạy trên trình biên dịch Pascal để kiểm tra kết quả. Chúc bạn thành công!
1
0
GUNTER OBERDORF ...
13/03 19:32:12
+5đ tặng
program Bai1_DaySo;
var
  n, i, sum, count, min, max: integer;
  arr: array of integer;
  mean: real;

function IsSquareNumber(x: integer): boolean;
begin
  IsSquareNumber := (sqrt(x) = trunc(sqrt(x)));
end;

begin
  write('Nhap vao so luong phan tu cua day: ');
  readln(n);

  // Khởi tạo mảng
  SetLength(arr, n);

  // Nhập dãy số từ bàn phím
  writeln('Nhap vao day so:');
  for i := 0 to n - 1 do
    read(arr[i]);

  // Tính tổng của dãy số và tìm số nhỏ nhất, lớn nhất
  sum := 0;
  min := arr[0];
  max := arr[0];
  for i := 0 to n - 1 do
  begin
    sum := sum + arr[i];
    if arr[i] < min then
      min := arr[i];
    if arr[i] > max then
      max := arr[i];
  end;

  // Tính trung bình cộng của dãy số
  mean := sum / n;

  // In ra các số chính phương của dãy và số lượng của chúng
  writeln('Cac so chinh phuong trong day:');
  count := 0;
  for i := 0 to n - 1 do
  begin
    if IsSquareNumber(arr[i]) then
    begin
      write(arr[i], '; ');
      count := count + 1;
    end;
  end;
  writeln;
  writeln('Co ', count, ' so chinh phuong');

  // In ra các số của dãy có giá trị lớn hơn trung bình cộng của dãy
  writeln('Cac so lon hon trung binh cong cua day:');
  for i := 0 to n - 1 do
  begin
    if arr[i] > mean then
      write(arr[i], '; ');
  end;
  writeln;

  // In ra các số nguyên không thuộc dãy
  writeln('Cac so khong thuoc day:');
  for i := min + 1 to max - 1 do
  begin
    if (i < min) or (i > max) then
      write(i, '; ');
  end;
end.

 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo