Tôi trình bày cho bạn một bài kiểm tra! Bài kiểm tra của bạn là để kiểm tra. Bài kiểm tra là để kiểm tra người kiểm tra bằng các bài kiểm tra mà người kiểm tra cung cấp cho bạn, với số lượng mã kiểm tra shor . Cụ thể, bạn sẽ đưa ra một bài kiểm tra trắc nghiệm mà bạn đã nhận làm đầu vào.
Trong thử thách này, bạn phải nhận một đầu vào như thế này:
1. Our site is called Programming Puzzles & Code ________.
A: Debugging
*B: Golf
C: Hockey
D: Programming
2. What is the *most* popular tag on our site?
A: [debug]
B: [program]
*C: [code-golf]
D: [number]
E: [c++]
3. We are part of the ________ Exchange network.
*A: Stack
B: Code
C: Programmer
D: Hockey
4. Is this the first question?
A: Yes
*B: No
5. Is this the last question?
*A: Yes
B: No
Và đây là một ví dụ về bài kiểm tra đang được thực hiện:
1. Our site is called Programming Puzzles & Code ________.
A: Debugging
B: Golf
C: Hockey
D: Programming
answer: B
correct!
2. What is the *most* popular tag on our site?
A: [debug]
B: [program]
C: [code-golf]
D: [number]
E: [c++]
answer: C
correct!
3. We are part of the ________ Exchange network.
A: Stack
B: Code
C: Programmer
D: Hockey
answer: B
incorrect! the answer was A
4. Is this the first question?
A: Yes
B: No
answer: B
correct!
5. Is this the last question?
A: Yes
B: No
answer: B
incorrect! the answer was A
overview:
3 correct, 2 incorrect (60%)
3. We are part of the ________ Exchange network.
you chose B: Code
the answer was A: Stack
5. Is this the last question?
you chose B: No
the answer was A: Yes
Đặc điểm kỹ thuật chính thức:
- Đầu vào
- Nếu một dòng bắt đầu bằng một số theo sau là dấu chấm và dấu cách, thì đó là một câu hỏi với số đó. Các số sẽ luôn bắt đầu từ 1 và tăng lên 1 mỗi câu hỏi.
- Nếu một dòng bắt đầu bằng một dấu sao tùy chọn, một chữ cái, dấu hai chấm và sau đó là một khoảng trắng, thì đó là một câu trả lời. Câu trả lời cũng sẽ luôn được tuần tự. Sẽ chỉ có một câu trả lời đúng cho mỗi câu hỏi.
- Một dòng sẽ không bắt đầu theo bất kỳ cách nào khác ngoài những cách đã đề cập trước đó.
- Đầu vào có thể được chấp nhận theo bất kỳ cách nào (đọc từ tệp, stdin, v.v.) nhưng không được mã hóa cứng vào chương trình của bạn.
- Đầu ra (giai đoạn làm bài kiểm tra)
- Đầu tiên, in ra từng câu hỏi một cách tuần tự. In câu hỏi và câu trả lời của nó như nhận được trong đầu vào, nhưng không in dấu hoa thị cho biết câu trả lời đúng.
- Sau đó, in một dòng mới và
"answer: ". Chờ người dùng nhập liệu. Đầu vào của người dùng sẽ luôn luôn tương ứng với một câu trả lời. - Nếu câu trả lời đúng (câu có dấu hoa thị) giống với câu trả lời của người dùng, đầu ra
"correct!". Nếu không, đầu ra"incorrect! the answer was " + correct_letter. - Tách mỗi câu hỏi bằng một dòng trống, sau đó lặp lại các bước đầu ra trước đó cho đến khi không còn câu hỏi nào nữa.
- Đầu ra (giai đoạn tổng quan)
- In
"overview: "và sau đó một dòng mới. - In
"{number of correct answers} correct, {incorrect answers} incorrect ({percent correct, rounded to the nearest whole number}%)"(tất nhiên thay thế các cụm từ trong dấu ngoặc nhọn bằng các giá trị tương ứng của chúng). Sau đó in một dòng trống cho khoảng cách. - Bây giờ, đối với mỗi câu hỏi sai, hãy in câu hỏi (không phải câu trả lời của nó), sau đó trên một dòng mới
"you chose " + answer_you_chosevà trên một dòng khác"the answer was " + correct_answer. Phân tách tổng quan của mỗi câu trả lời sai bằng một dòng trống.
- In
- Để giảm gian lận bằng cách diễn giải mọi thứ theo nghĩa đen, khi được đưa ra cùng một đầu ra ở đây và cùng một đầu vào trong giai đoạn làm bài kiểm tra, chương trình của bạn phải xuất ra chính xác điều tương tự như đầu ra mẫu.
Đây là môn đánh gôn ; chiến thắng mã ngắn nhất! (Và nhận được điểm A + (dấu kiểm màu xanh lá cây)!)

\d\.,\w:và\*ở giữa các câu hỏi / câu trả lời. (Ví dụ hiện tại*có thể được loại bỏy/*//, trong khi cách chính xác dài nhưs/^\*//.)