티스토리 뷰

간단 문제 풀이

[C 배열] 채점하기

nodeal 2017. 12. 14. 00:39
반응형

학생들의 답안을 채점하는 프로그램을 작성하세요. 다음과 같은 2차원 배열이 학생들이 제출한 답이며, 모든 문제는 객관식으로 정답이 1~4입니다. 5명의 학생이 각각 10문제에 대한 답을 다음과 같이 제출했습니다. 문제의 정답은 프로그램 실행 시에 주어집니다.


학생 1 | 1 3 2 4 3 1 4 2 2 1

학생 2 | 3 2 4 2 2 1 1 3 4 1

학생 3 | 2 4 3 2 1 2 1 3 3 4

학생 4 | 2 3 3 1 1 3 2 2 4 4

학생 5 | 3 1 1 2 4 1 2 3 1 3


입력)

1번 문제의 정답을 입력하세요 : 3

2번 문제의 정답을 입력하세요 : 2

3번 문제의 정답을 입력하세요 : 3

4번 문제의 정답을 입력하세요 : 2

5번 문제의 정답을 입력하세요 : 4

6번 문제의 정답을 입력하세요 : 2

7번 문제의 정답을 입력하세요 : 3

8번 문제의 정답을 입력하세요 : 1

9번 문제의 정답을 입력하세요 : 3

10번 문제의 정답을 입력하세요 : 2


출력)

학생 1의 점수 : 0 점

학생 2의 점수 : 3 점

학생 3의 점수 : 4 점

학생 4의 점수 : 1 점

학생 5의 점수 : 3 점





#include <stdio.h>

int main() { 
     int student_answer[5][10] = { 
            {1, 3, 2, 4, 3, 1, 4, 2, 2, 1}, 
            {3, 2, 4, 2, 2, 1, 1, 3, 4, 1}, 
            {2, 4, 3, 2, 1, 2, 1, 3, 3, 4}, 
            {2, 3, 3, 1, 1, 3, 2, 2, 4, 4}, 
            {3, 1, 1, 2, 4, 1, 2, 3, 1, 3} 
     }; 

     int score[] = {0, 0, 0, 0, 0}; 

     for (unsigned int i = 0; i < 10; i++) { 
            int answer = 0; 
            printf("%d번째 문제의 정답을 입력하세요: ", i); 
            scanf("%d", &answer); 

            for (unsigned int j = 0; j < 5; j++) 
                if (answer == student_answer[j][i]) 
                    score[j]++; 
     } 

     for (unsigned int i = 0; i < 5; i++)
            printf("학생 %d의 점수: %d\n", i, score[i]); 

     return 0; 
} 
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함