Mô tả thuật toán sau: Đưa ra trung bình cộng các số dương của một dãy gồm N số

2 câu trả lời

uses crt;

type Mang1C = array [ 1 .. 1000000 ] Of Longint;

var i, n : longint;

      a : Mang1C;

function tbc : Real;

begin

    tbc := 0;

    for i := 1 to n do 

       tbc := tbc + a[ i ];

    exit( tbc / n );

end;

procedure ioput;

begin

    assign( input, 'input.inp' ); reset( input );

    assign( output, 'output.out ' ); rewrite( output );

    readln( n );

    for i := 1 to n do

       read( a[ i ] );

    close( input );

end;

begin

   ioput;

   write( tbc );

    close( output );

end.

bước 1 sẽ tạo mảng và chạy i từ 1 đến n để lưu giá trị

bước 2 chạy từ i đến n nếu phần tử>0 thì sẽ cộng vào 1 biến tính tổng giá trị phần tử , và cộng vào biến đếm giá trị dương 1 đơn vị

bước 3 tính trung bình cộng bằng cách lấy tổng các phần tử dương chia cho số phần tử dương 

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