https://www.acmicpc.net/problem/2562
2562번: 최댓값
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어
www.acmicpc.net
문제의 키 포인트
1. 9개의 수를 입력 받는다.
2. 마지막 출력으로 최대값과 최대값이 몇 번째 수인지 출력한다.
해결방안
1. 9개의 수를 입력받기 위해 배열을 사용한다.
2. 반복문을 통해 값을 입력받으면서 현재 저장된 최대값과 비교한다.
3. 이 때, 비교값이 최대값보다 크다면 해당 값을 최대값에 저장하고 위치값도 변경해준다.
소스코드
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int array[9] = { 0, }; // 배열을 선언하고 0으로 초기화
int i; // 반복변수
int temp; // 최대값 위치 저장
int max = 0; // 최대값을 초기값 0으로 초기화
for (i = 0; i < 9; i++)
{
scanf("%d", &array[i]);
if (max < array[i])
{
max = array[i];
temp = i;
}
}
printf("%d\n%d\n", max, temp + 1); // 최대값과 최대값의 위치 출력
}
주의할 점
1. 보통 숫자를 셀 때 1부터 시작하지만, 배열은 0부터 시작한다. ex. 0, 1, 2, 3, 4, 5, 6, 7, 8
2. 따라서 temp의 값에 +1을 해주어 위치값을 표시해주었다.
그럼 오늘도 즐거운 코딩!
반응형
'코딩 | 알고리즘 & 문제풀이 > 백준_Backjoon' 카테고리의 다른 글
[C언어] Backjoon_Code 4344, 평균을 넘는 학생의 비율 (0) | 2021.06.30 |
---|---|
[C언어] Backjoon_Code 8958, OX퀴즈 (0) | 2021.06.29 |
[C언어] Backjoon_Code 1546, 평균 조작하기 (0) | 2021.06.28 |
[C언어] Backjoon_Code 3052, 서로 다른 나머지 계산하기 (0) | 2021.06.27 |
[C언어] Backjoon_Code 2577, 숫자의 개수 (0) | 2021.06.26 |