https://www.acmicpc.net/problem/2562
2562번: 최댓값
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어
www.acmicpc.net
문제 설명
입력받은 9개의 자연수 중에서 가장 큰 값을 찾고, 이와 동시에 몇 번째인지도 출력하는 문제입니다.
이전의 10818 최소, 최대 문제에서 최대값을 구하는 것과 동일한 방식으로 해결하였습니다. 몇 번째인지는 반복문의 i의 값을 활용하여 해결하였습니다.
max 값이 이번의 새로운 값으로 갱신된다면, max 값을 갱신하고 동시에 몇 번째인지 저장하는 변수 index에 i 값을 대입하여주었습니다.
코드 (C언어)
#include <stdio.h>
int main(void)
{
int i, n, num, max = 0, index;
for(i = 1; i <= 9; i++)
{
scanf("%d", &num);
if(max < num)
{
max = num;
index = i;
}
}
printf("%d\n%d", max, index);
return 0;
}
# 배열을 통해 푸는 경우 배열의 index 는 0부터 시작하기 위해, for 문 초기식에 i = 0 으로 작성하였습니다.
i가 0~8까지 반복을 하므로 실제 번째 수와 1씩 차이가 나므로, i+1의 값을 index 변수에 대입하여 해결하였습니다.
#include <stdio.h>
int main(void)
{
int i, n, num[10], max = 0, index;
for(i = 0; i < 9; i++)
{
scanf("%d", &num[i]);
}
for(i = 0; i < 9; i++)
{
if(max < num[i])
{
max = num[i];
index = i+1;
}
}
printf("%d\n%d", max, index);
return 0;
}
'코딩' 카테고리의 다른 글
[C언어] 백준 BOJ 10991 별 찍기 16 (0) | 2023.08.04 |
---|---|
[C언어] 백준 BOJ 10990 별 찍기 15 (0) | 2023.08.03 |
[BOJ / 백준] 10818 최소, 최대 - C언어 (0) | 2022.08.02 |
[C언어] 백준 BOJ 10992 별 찍기 17 (0) | 2022.07.28 |
[C언어] 백준 BOJ 2445 별 찍기 8 (0) | 2022.07.27 |