C언어

[C] 백준 3058번 문제

adorableco 2021. 9. 13. 21:26
반응형
#include <stdio.h>

int main()
{
    int sum = 0;
    int a = 0 ;
    int num;
    int arr[7];
    int check[7];
    scanf("%d",&num);
    for (int i = 0; i < num; i++)
    {
        for (int i = 0; i < 7; i++)
        {
            scanf("%d",&arr[i]);
        }
        
        for (int i = 0; i < 7; i++)
        {
            if(arr[i]%2 == 0)
                check[a++] = arr[i];
        }
        
        int c = check[0];
        for (int i = 0; i < a; i++)
        {
            if(c>check[i])
                c = check[i];
        }
        
        for (int i = 0; i < a; i++)
        {
            sum+= check[i];
        }
        printf("%d ",sum);
        printf("%d\n",c);
        sum = 0;
        a = 0;
    }
    
    return 0;
}

 

숫자 7개를 배열 arr에 입력받고 이 7개의 숫자 중에서 짝수인걸 골라서 배열 check에 넣는다.

그리고 최솟값이 check[0] 에 오도록 for문을 돌린 뒤에 sum 까지 구하고 출력한다.

근데 이 문제를 for문 5개나 써야하는걸까...?

 

반응형