ascode 1114 홀수만 내림차순으로 출력하기

1 분 소요

문제 설명

여러 개의 정수가 입력될 경우 입력된 정수들 중 양수이면서 홀수인 것들만 골라 내림차순으로 정렬한 후 출력하는 프로그램을 작성하시오(입력되는 정수들은 중복될 수 있다).

입력 설명

첫 번째 줄에 테스트케이스의 개수 T(1 <= T <= 10)가 입력된다. 그 다음 줄에 입력 정수의 개수(n, 1 <= n <= 100)가 주어지고 그 다음 줄에 n개의 정수(-100 이상, 100 이하)가 입력된다. 이와 같은 테스트케이스가 T개 입력된다.

출력 설명

각 테스트케이스의 순서대로 양수이면서 홀수인 것들만 내림차순으로 한 줄씩 출력한다. 각 정수들 사이에는 공백을 하나씩만 넣는다. 만약 출력되는 숫자가 하나도 없는 경우에는 None을 출력한다.

입력 예시

3
3
1 2 3
5
-3 3 1 -2 5
3
-2 4 6

출력 예시

3 1
5 3 1
None

코드

#include <stdio.h>

int main() {
    int a, b, arr[101], temp = 0, c = 0, v = 0;
    scanf("%d", &a);
    for (v = 0; v < a; v++)
    {
        scanf("%d", &b);
        for (int i = 0; i < b; i++)
        {
            scanf("%d", &arr[i]);
        }

        for (int i = 0; i < b; i++) {
            for (int j = 0; j < b - 1; j++) {

                if (arr[j] < arr[j + 1]) {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;

                }
            }
            if (arr[i] % 2 == 1) {
                c++;
            }
        }
        for (int i = 0; i < b; i++)
        {
            if (c == 0) {
                 printf("None");
                 break;
            }
            if (arr[i] % 2 == 1) {
                 printf("%d ", arr[i]);
            }
        }
        printf("\n");
        c = 0;
    }
}

나 : say

dma

댓글남기기