하루하루 꾸준히, 인생은 되는대로

정렬

백준 2693 C언어

긤효중 2021. 10. 8. 22:59

https://www.acmicpc.net/problem/2693

 

2693번: N번째 큰 수

첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000

www.acmicpc.net

 

문제

배열 A가 주어졌을 때, N번째 큰 값을 출력하는 프로그램을 작성하시오.

배열 A의 크기는 항상 10이고, 자연수만 가지고 있다. N은 항상 3이다.


입력

첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000보다 작거나 같은 자연수이다.


출력

각 테스트 케이스에 대해 한 줄에 하나씩 배열 A에서 3번째 큰 값을 출력한다.

 

전체 소스코드 ->

#include <stdio.h>
 
void Sort(int arr[],int n){
    int i,j;
    int temp;
    for(i = 0;i<n-1;i++){
        for(j = 0;j<(n-i)-1;j++){
            if(arr[j]<arr[j+1]){
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}
int main(void){
    int temp;
    int n;
    scanf("%d",&n);
    int arr[10];
    for(int i = 0;i<n;i++){
        for(int j = 0;j<10;j++){
            scanf("%d",&arr[j]);
 
                }
        Sort(arr,10);
        printf("%d\n",arr[2]);
        }
 
 
    }