Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
1: int [] a={3,1,7,0,10};
2: int n=5,k,max;
3: max=a[0]
4: for(k=0;k 5: if(max max=a[k] 7: cout << max; 8: for(k=0;k 9: if(max==a[k ]) 10: cout << k;
Trả lời:
Đáp án đúng: C
Đoạn code tìm giá trị lớn nhất trong mảng `a` và in ra giá trị đó, sau đó tìm vị trí của giá trị lớn nhất trong mảng và in ra vị trí đó.
* **Dòng 1:** Khai báo và khởi tạo mảng `a` với các giá trị {3, 1, 7, 0, 10}.
* **Dòng 2:** Khai báo biến `n` (kích thước mảng), `k` (biến lặp), và `max` (giá trị lớn nhất).
* **Dòng 3:** Khởi tạo `max` bằng phần tử đầu tiên của mảng (`a[0]` là 3).
* **Dòng 4-6:** Vòng lặp duyệt qua mảng từ đầu đến cuối. Nếu một phần tử `a[k]` lớn hơn `max`, `max` được cập nhật bằng `a[k]`.
* **Dòng 7:** In ra giá trị `max` sau khi vòng lặp kết thúc. Lúc này, `max` là 10.
* **Dòng 8-10:** Vòng lặp thứ hai duyệt qua mảng để tìm vị trí của `max`. Nếu `a[k]` bằng `max`, in ra `k` (vị trí của `max`). Trong trường hợp này, `max` (10) được tìm thấy tại vị trí `k = 4`.
Vậy, đoạn code sẽ in ra "104".