JavaScript is required

Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?

double bac3 (double a, int x) {

for (int i = 0; i < x; i++)

a = a * a;

return a;

}

int main() {

int i = 3;

cout << i << “, “ << bac3(i,2);

return 0;

}

A.

3, 81

B.

3, 9

C.

9, 81

D.

3, 18

Trả lời:

Đáp án đúng: A


Đoạn chương trình trên thực hiện tính toán lũy thừa bậc 2 của một số thực. Trong hàm `main`, biến `i` được khởi tạo bằng 3. Sau đó, giá trị của `i` (là 3) được in ra màn hình. Tiếp theo, hàm `bac3(i, 2)` được gọi. Hàm `bac3(double a, int x)` tính lũy thừa bậc `x` của `a` bằng cách nhân `a` với chính nó `x` lần trong vòng lặp `for`. Trong trường hợp này, `a` là 3.0 và `x` là 2. Vòng lặp sẽ chạy hai lần: - Lần 1: `a = a * a = 3.0 * 3.0 = 9.0` - Lần 2: `a = a * a = 9.0 * 9.0 = 81.0` Hàm `bac3` trả về giá trị 81.0. Cuối cùng, giá trị này được in ra màn hình sau dấu phẩy và khoảng trắng. Vì vậy, kết quả cuối cùng là `3, 81`.

Câu hỏi liên quan