Prosto

배열 연습문제 -4(순위 구하기 문제 + 소스) - C언어 본문

Programing/C Programing

배열 연습문제 -4(순위 구하기 문제 + 소스) - C언어

Prosto 2016. 11. 24. 00:58


배열에 대한 연습 문제를 풀어보는 네 번째 시간입니다. (이번엔 1차원 배열)

전 시간까지는 규칙을 찾고 로직을 구성하는 문제들이었지만,

이번 시간부터는 배열과 반복문, 조건문을 이용하여 특정 문제를 해결하면 됩니다.

그럼, 이번에는 순위를 구하는 문제를 풀어보도록 하겠습니다.


문제에 대한 설명과, 완성된 소스는 제공합니다.

소스에서 설명이 필요한 부분은 주석이나 별도의 코멘트를 달아 설명하도록 하겠습니다.


문제는 두 가지입니다.

 첫 번째는 배열이 가지고있는 숫자가 큰 순서대로 등수(순위)를 주고,

 두 번째는 배열이 가지고있는 숫자가 작은 순서대로 등수(순위)를 주는 것입니다.

 (배열이 가지고 있는 숫자는 편의상 점수라고 생각하며 진행하겠습니다.)



문제1. 0번 학생부터 9번 학생까지 10명의 점수를 담고있는 배열(각각 60, 70, 80, 90, 75, 85, 95, 50, 45, 30임. - 선언 시 초기화)을 가지고 각 번호에 맞게 등수를 저장하는 배열을 만들어 등수를 저장하도록 하고, 번호별 점수와 등수를 '실행 결과 예'와 같이 출력하시오.

 *높은 점수가 더 낮은 등수를 갖는다. (예: 100점과 80점, 90점이 있다면, 100점:1등, 80점:3등, 90점:2등)


(실행 결과 예)

6번 학생이 95점으로 1등, 9번 학생이 30점으로 10등. 결과가 잘 나왔죠?

(그리고 0번 학생부터가 아닌 1번 학생부터로 해도 좋습니다.)


배열을 선언과 함께 초기화하는 방법도 잘 알고계시죠?

만약 5칸의 공간을 가지고있는 arr배열에 10 20 30 40 50으로 초기화해주고 싶다면

int arr[5] = {10, 20, 30, 40, 50};

으로 간단하게 해줄 수 있습니다.

(혹 모르고 계셨더라도 이제 할 수 있겠죠?)


관련 글

'[C언어] 배열(Array)의 이해와 예제, 문제'












문제2. 문제 1과 마찬가지로 0번 학생부터 9번 학생까지 10명의 점수를 담고있는 배열(각각 60, 70, 80, 90, 75, 85, 95, 50, 45, 30임. - 선언 시 초기화)을 가지고 각 번호에 맞게 등수를 저장하는 배열을 만들어 등수를 저장하도록 하고, 번호별 점수와 등수를 '실행 결과 예'와 같이 출력하시오.

 *낮은 점수가 더 낮은 등수를 갖는다. (예: 100점과 80점, 90점이 있다면, 100점:3등, 80점:1등, 90점:2등)


(실행 결과 예)

(위 문제와 마찬가지인데 이번에는 등수(순위)가 반대죠?)

(위 1번 문제를 쉽게 만드셨다면 소스를 변경해보고, 아니라면 처음부터 다시 만들어보세요.)








질문은 댓글이나 메일로 따로 연락주시면 시간되는 때 답변드리겠습니다. ( 연락 )



Comments