Anh (Chị) hãy cho biết kết quả của dòng lệnh 7 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`. Ban đầu, `max` được gán bằng `a[0]` (tức là 3). Vòng lặp `for` duyệt qua các phần tử của mảng. Nếu một phần tử nào đó lớn hơn `max`, thì `max` được cập nhật bằng giá trị của phần tử đó.
- `k = 0`: `max = 3`, `a[0] = 3`. `max < a[0]` là `3 < 3` (sai).
- `k = 1`: `max = 3`, `a[1] = 1`. `max < a[1]` là `3 < 1` (sai).
- `k = 2`: `max = 3`, `a[2] = 7`. `max < a[2]` là `3 < 7` (đúng). `max` được cập nhật thành 7.
- `k = 3`: `max = 7`, `a[3] = 0`. `max < a[3]` là `7 < 0` (sai).
- `k = 4`: `max = 7`, `a[4] = 10`. `max < a[4]` là `7 < 10` (đúng). `max` được cập nhật thành 10.
Sau vòng lặp, `max` có giá trị là 10. Dòng lệnh `cout << max;` in ra giá trị của `max`, tức là 10.