728x90
반응형
임의의 양의 정수 n을 입력받은 뒤 n개의 정수를 입력받고 그 중 최대값과 최소값, 2번째 최대값과 최소값을 출력하시오. 중복된 값이 입력된 경우에는 다음 예시와 같이 처리하는것을 원칙으로 합니다.
ex. 4 3 3 2 3 -> Max : 3, Min : 2, Second Max : 3, Second Min : 3 (이 예시에서 첫번째 4는 입력의 개수를 의미합니다.)
입력값은 다음을 따릅니다. 4 <= n <= 100, -100 <= ai <= 100 입력받을 다른 정수의 개수를 의미하는 양의 정수 n이 첫줄에 주어집니다. 이후 n개의 줄에 최댓값과 최솟값, 2번째 최댓값과 최솟값을 구해야 할 정수들 a0, a1, ... , an-1이 줄바꿈으로 구분되어 주어집니다.
Code
#include <stdio.h>
#include <limits.h>
int main() {
int max = INT_MIN, min = INT_MAX;
int second_max = INT_MIN, second_min = INT_MAX;
int n, current;
// 첫 번째 입력: n
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", ¤t);
// 최대값과 두 번째 최대값 업데이트
if (current > max) {
second_max = max;
max = current;
} else if (current > second_max && current != max) {
second_max = current;
}
// 최소값과 두 번째 최소값 업데이트
if (current < min) {
second_min = min;
min = current;
} else if (current < second_min && current != min) {
second_min = current;
}
}
// 결과 출력
printf("Max: %d, Min: %d, Second_Max : %d, Second_Min : %d", max, min,second_max, second_min);
return 0;
}
728x90
반응형
'C' 카테고리의 다른 글
[리눅스] 파이프를 사용한 단체방 채팅 서버 만들기(2) (2) | 2023.12.06 |
---|---|
[C] 파이프를 사용한 단체방 채팅 서버 만들기 (5) | 2023.12.03 |
[C언어] 사용자로부터 양의 정수를 입력받아 주어진 조건에 따라 원래의 수, 뒤집은 수, 그 차이를 출력하는 C 코드 (2) | 2023.10.05 |
[C언어] 각 자릿수를 순서대로 영어로 출력하는 프로그램 (0) | 2023.10.05 |
[C - Network] C 소켓 프로그래밍 예제 (0) | 2023.07.02 |