JavaScript is required

Kết quả nào đúng khi thực hiện giải thuật sau với a[]= {-3, -3, 15, -3}; n= 4; x= -3:

int FindX(int a[], int n, int x)

{int i;

for (i= n; i>= 1; i--) if (a[i]==x) return (i);

return (-1);

}

A.

1

B.

2

C.

3

D.

4

Trả lời:

Đáp án đúng: D


Đề bài yêu cầu tìm vị trí xuất hiện cuối cùng của phần tử `x` trong mảng `a`. Đoạn code duyệt mảng `a` từ cuối về đầu (từ `n` về 1). Vòng lặp dừng khi `i >= 1`. Nếu `a[i]` bằng `x` thì trả về `i`. Nếu duyệt hết mảng mà không tìm thấy `x` thì trả về -1. Mảng `a` có các phần tử: a[1] = -3, a[2] = -3, a[3] = 15, a[4] = -3. `n = 4`, `x = -3`. - Vòng lặp 1: `i = 4`. `a[4] == x` (-3 == -3) là đúng. Trả về 4. Vậy kết quả đúng là 4.

Đề cương ôn thi với 220 câu trắc nghiệm Cấu trúc dữ liệu và giải thuật có đáp án được chọn lọc và chia sẻ dưới đây, nhằm giúp bạn sinh viên hệ thống kiến thức chuẩn bị cho kì thi sắp diễn ra.


50 câu hỏi 60 phút

Câu hỏi liên quan