메-모해봅시다.

2576번 : 홀수 본문

C언어/C언어 문제 풀어보기

2576번 : 홀수

RollingPumpkin 2020. 5. 14. 08:05

 

백준 2576번 문제 - 홀수

문제

7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾는 프로그램을 작성하시오.

예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지면 이들 중 홀수는 77, 41, 53, 85이므로 그 합은

77 + 41 + 53 + 85 = 256

이 되고,

41 < 53 < 77 < 85

이므로 홀수들 중 최솟값은 41이 된다.

 

입력

입력의 첫째 줄부터 일곱 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100보다 작다.

 

출력

홀수가 존재하지 않는 경우에는 첫째 줄에 -1을 출력한다. 홀수가 존재하는 경우 첫째 줄에 홀수들의 합을 출력하고, 둘째 줄에 홀수들 중 최솟값을 출력한다.


★풀어보자


계획


처음에 입력받을 때 부터 홀수만 입력받아 그 중에 최솟값과 합을 구한다.

 

 

실습


#include<stdio.h>

int A[7], B[7] = { 0,0,0,0,0,0,0 };

main()
{
printf("정수를 7개 입력하시오\n");
for (int i = 0; i <= 6; i++)
{
scanf_s("%d", &A[i]); //A배열에 입력받고
if (A[i] % 2 != 0) //홀수인 것만 B배열에 모아둔다
B[i] = A[i];
}
int min = 100; //최솟값
for (int i = 1; i <= 6; i++)
if (B[i] > 0)
{
if (B[i] < min) {
min = B[i];
}
}
int sum = 0; //합
for (int i = 0; i <= 6; i++)
{
sum = sum + B[i];
}
printf("입력받은 정수들 중 홀수의 합 : %d\n입력받은 홀수들 중 최솟값 : %d", sum, min);
return 0;
}


출력


무작위 정수들을 입력받고 홀수들의 합과 최솟값을 출력한 모습

 

'C언어 > C언어 문제 풀어보기' 카테고리의 다른 글

2562번 : 최댓값  (0) 2020.05.21
2577번 : 숫자의 개수  (0) 2020.05.21
10872번 : 팩토리얼  (0) 2020.05.14
5073번 : 삼각형과 세 변  (0) 2020.05.14
8393번 : 합  (0) 2020.05.03