for 루프 연산자: 키보드 입력 중 최소 수 검색


주어진 숫자 중 최대 수

조건 연산자를 공부할 때 입력된 여러 숫자에서 최대 숫자를 찾는 주제를 다루었습니다. 문제 "최대 4개의 숫자"에서 다음 알고리즘을 사용했습니다.
1. 변수 M에 값을 4개의 변수 중 첫 번째 변수에 할당합니다.
2. 두 번째 변수의 값이 변수 M의 값보다 크면 변수 의 값을 두 번째 변수의 값으로 대체합니다.
3. 세 번째 변수의 값이 변수 M의 값보다 크면 변수 M의 값을 세 번째 변수의 값으로 대체합니다.< br /> 4. 네 번째 변수의 값이 M 변수의 값보다 크면 변수의 값을 네 번째 변수의 값으로 바꿉니다.

각  다음과 같이 변수 M과 비교한 숫자(X로 표시):
 
의사 코드
<예비> 입력 X (M < X)이면   M = X
이 코드에서 가장 중요한 것은 변수 M이 가질 초기 값을 결정하는 것입니다.
일반적으로 최대값 또는 최소값을 찾는 문제를 풀 때 변수 M의 초기 값은 첫 번째 숫자와 동일하게 할당됩니다.
따라서 위의 코드는 숫자의 개수보다 1배 적은 횟수로 실행되어야 합니다(변수 M의 초기값으로 첫 번째 숫자를 입력하여 저장해야 하므로).
키보드에서 설정한 숫자의 수가 있는 경우(예: 변수 n) 다음을 사용하여 순환(2에서 n까지)을 구성할 수 있습니다. 숫자 변수를 저장하는 동일한 숫자.

프로그램을 직접 작성해 보십시오.

모두가 아닌 최대

입력한 모든 숫자 중에서 최대값(최소값)을 찾아야 하는 경우가 아니라 특정 조건을 만족하는 숫자 중에서 최대값(최소값)을 찾아야 하는 경우 최대값의 초기값으로 취하는 첫 번째 숫자를 고려해야 합니다. (최소)가 항상 우리의 요구 사항을 충족하지는 않습니다.

예를 들어 최대 음수를 찾는 경우 데이터 세트는 다음과 같습니다. \(\{5, -2, 4, 2, -1, -3\}\ ) 우리는 최대 값의 초기 값에서 숫자 5를 얻을 것이며 양수이고 음수보다 큽니다. 따라서 조건 X > M는 항상 거짓입니다.

따라서 이전 문제의 알고리즘에 음수에 대한 검사를 한 번만 추가하는 것으로는 충분하지 않으며 첫 번째 숫자가 요구 조건을 충족하지 않을 수 있다는 사실(이 경우 음수가 될 수 있음)도 고려해야 합니다. ).

루프 내부에 다음 조건을 추가하여 이 문제를 해결할 수 있습니다.

의사 코드
<예비> X가 음수이면 M >= 0 또는 M < 엑스, 그럼 엠=엑스
지정된 코드에서  M >= 0 조건을 사용하면 변수는 처음에 나머지보다 분명히 큰 값을 포함합니다(예제에서 값은 5와 같음).

또한 숫자의 범위가 알려진 경우 지정된 범위의 최소(최대) 숫자를 최대(최소)의 초기 값으로 사용할 수 있습니다.