C/C++에서 최솟값과 최댓값 찾는 법을 간단히 소개하도록 하겠습니다.
최솟값 최댓값 찾기
- int min, int max 등의 최솟값과 최댓값을 담는 변수를 선언합니다.
- min값보다 작을 때 작은 값으로 업데이트합니다.
- max값보다 클 때 큰 값으로 업데이트합니다.
입력된 숫자에서 최솟값과 최댓값의 차이를 구하는 소스 코드를 보겠습니다.
#include <iostream>
int main()
{
int t,num,max=-1,min=101;
std::cin>>t;
for (int i = 0; i<t; i++)
{
std::cin>>num;
if (num>max)
max=num;
if (num<min)
min=num;
}
std::cout<<max-min;
return 0;
}
- t를 입력, 숫자는 for문에서 t 개수만큼 입력됨
- 입력된 숫자를 if문 2개를 통해 max와 min과 비교함.
- min값보다 작을 때 작은 값으로 업데이트함.
- max값보다 클 때 큰 값으로 업데이트함.
한 가지 주의할 점은 if, else if문을 사용하지 않아야 된다는 점이다. 과거 if, else if문 사용으로 문제가 되었다.if, else if문을 사용하게 되면 조건에 먼저 맞는 1가지만 비교하기 때문에 min, max 둘 다 비교할 수 없다.min 또는 max 하나만 비교하게 될 수 있는 것이다.
min과 max 둘 다 비교될 수 있도록 if문만 사용하면 된다.
'C C++ > C C++ 유용한 알고리즘 기법' 카테고리의 다른 글
[C/C++] 정수 자릿수 세기 (0) | 2022.07.16 |
---|---|
[C/C++] 소문자-대문자 변환, 대문자-소문자 변환 (0) | 2022.07.10 |
[C/C++] 입력 받은 숫자 특정 자릿수 접근하기 (0) | 2022.07.09 |
C언어 char형과 char*형 차이, %s, %c의 차이 (0) | 2022.07.03 |
C언어 여러 좌표 입력받아 출력하기 (0) | 2022.06.24 |
댓글