Bài tập  /  Bài đang cần trả lời

Viết chương trình

Khi tham gia các cuộc thi, ai cũng muốn đoạt giải nhất. Nhưng đối với An, vì biết được khả năng của mình nên An chỉ quan tâm đến giải nhì. An vừa tham gia cuộc thi Tin học trẻ và được biết điểm của tất cả thí sinh tham gia cuộc thi. Em hãy giúp An tìm xem điểm lớn thứ nhì trong cuộc thi là bao nhiêu điểm.
Dữ liệu vào từ file SOLONNHI.INP gồm 2 dòng. Dòng 1 là số thí sinh tham gia cuộc thi (4 < n < 1000). Dòng 2 là số điểm (số nguyên) của từng thí sinh có giá trị từ 0 đến 100, mỗi số cách nhau ít nhất một khoảng cách.
Kết quả ghi ra file SOLONNHI.OUT gồm 1 dòng là 1 số nguyên cho biết giá trị của số lớn thứ nhì trong các điểm số ở trên, nếu không có lớn thứ nhì thì ghi -1.
2 trả lời
Hỏi chi tiết
87
0
0
Đức Anh Trần
31/05/2023 15:48:40
+5đ tặng
def find_second_highest(scores):
    max_score = sec />    for score in scores:
        if score > max_score:
            sec />            max_score = score
        elif score > second_max and score != max_score:
            sec />    return second_max

# Read data from file
with open("SOLONNHI.INP", "r") as inp:
    n = int(inp.readline().strip())
    scores = list(map(int, inp.readline().strip().split()))

# Process data
sec />
# Write output to file
with open("SOLONNHI.OUT", "w") as outp:
    outp.write(str(second_highest_score))
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng ký tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
1
0
Thái Thảo
31/05/2023 15:49:52
+4đ tặng
program SolonNhi;
var
  n, i, diem, lon_nhat, lon_thu_hai: integer;
  inputFile, outputFile: text;

begin
  // Mở file input để đọc dữ liệu
  assignFile(inputFile, 'SOLONNHI.INP');
  reset(inputFile);

  // Đọc số thí sinh tham gia cuộc thi
  readln(inputFile, n);

  // Đọc danh sách điểm số và tìm số lớn thứ nhì
  lon_nhat := -1;
  lon_thu_hai := -1;
  for i := 1 to n do
  begin
    read(inputFile, diem);
    if diem > lon_nhat then
    begin
      lon_thu_hai := lon_nhat;
      lon_nhat := diem;
    end
    else if (diem < lon_nhat) and (diem > lon_thu_hai) then
      lon_thu_hai := diem;
  end;

  // Đóng file input
  close(inputFile);

  // Mở file output để ghi kết quả
  assignFile(outputFile, 'SOLONNHI.OUT');
  rewrite(outputFile);

  // Ghi số lớn thứ nhì vào file output
  writeln(outputFile, lon_thu_hai);

  // Đóng file output
  close(outputFile);
end.
 

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập liên quan
Bài tập Tin học Lớp 9 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo