오늘은 성적을 입력받으면 석차를 알려주는 알고리즘을 구현해보려합니다.
예시1)
예시2)
예시3)
간단해보이지만 막상 실제로 해보면 진짜 간단합니다!!
필자의 아이디어 ) 중첩 반복문을 이용하여 스택을 정리하자!!
(중첩 반복문을 쓰지않으면 난이도가 엄청 올라갑니다)
문제: 5명 학생의 성적을 배열에 입력받아 석차를 구하는 알고리즘
풀이:
#include <stdio.h>
int main(void) {
int score[5] = {0};
int Rank[5] = {5,5,5,5,5}; //석차 전부 5등으로 초기화!!
int i = 0, j = 0;
printf("점수를 입력해주세요: ");
for (i = 0; i < 5; i++) {
scanf_s("%d", &score[i]);
}
//여기가 이 문제에서 가장 중요한 부분입니다
for (i = 0;i < 5;i++) {
for (j = i; j < 5; j++) {
if (score[i] < score[j]) {
Rank[j] -= 1;
}
else if(score[i]>score[j]){
Rank[i] -= 1;
}
}
}
printf("등수는: ");
for (i = 0; i < 5; i++) {
printf("%d ", Rank[i]);
}
return 0;
}
요점: Rank[i]와 Rank[j]를 명확하게 구분하기!!
이상으로 포스팅을 마치겠습니다 감사합니다!
C언어에 더 알고 싶다면?
👉C언어 마이크로 소프트 Visual Studio 2019 설치방법은?
👉C언어로 구사하는 알고리즘 1. 날짜값을 넣으면 해당 요일이 나오는 코딩 예제(윤년계산)
👉C언어로 구사하는 알고리즘 2. 형변환 그레이코드를 만드는 알고리즘
'코딩 이야기' 카테고리의 다른 글
[C언어] 함수를 이용한 계산기 프로그램을 작성해보자 (0) | 2021.07.27 |
---|---|
[C언어] 정수 오름차순/내림차순을 구현하는 알고리즘(SORT) (0) | 2021.07.13 |
[C언어] 형변환 그레이코드를 만드는 알고리즘 (0) | 2021.07.11 |
[C언어] 알고리즘/순서도/프로그래밍 개념/디버깅이란? (0) | 2021.07.07 |
[C언어] 날짜값을 넣으면 해당 요일을 출력하는 코딩예제 (윤년) (0) | 2021.07.04 |