메-모해봅시다.
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 |