Lee Jaeyoon2
재유니버스
Lee Jaeyoon2
전체 방문자
오늘
어제
  • 분류 전체보기 (228)
    • TIL (165)
    • 생각 (11)
    • 서평 (1)
    • JavaScript & TypeScript (4)
    • React (0)
    • C (45)
    • 에러 핸들링 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코드숨 리액트
  • 회고
  • 변수
  • c언어
  • 플래그
  • 코드숨
  • JavaScript
  • 5F
  • C언어 코딩 도장
  • react
  • 코드숨 리액트 8기
  • 객체
  • 코딩 도장
  • 실수
  • dotenv-webpack
  • 심사 문제
  • C
  • map
  • TiL
  • dotenv

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Lee Jaeyoon2

재유니버스

C

[C] C언어 코딩 도장 36.13 심사문제: 가장 작은 수 출력하기

2022. 4. 27. 09:01

표준 입력으로 정수 다섯 개가 입력됩니다(입력 값의 범위는 -2147483648~2147483647). 다음 소스 코드를 완성하여 입력된 정수 중에서 가장 작은 수가 출력되게 만드세요.

 

표준 입력

20 40 10 50 30

 

표준 출력

10

 

 

judge_smallest_number.c

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int numArr[5];
    int smallestNumber;

    scanf("%d %d %d %d %d", &numArr[0], &numArr[1], &numArr[2], &numArr[3], &numArr[4]);

    _____________________________________
    _____________________________________
    _____________________________________
    _____________________________________
    _____________________________________
    _____________________________________ 
    _____________________________________
    _____________________________________

    printf("%d\n", smallestNumber);

    return 0;
}

 

정답

    smallestNumber = numArr[0];
    
    for (int i = 0; i < sizeof(numArr) / sizeof(int); i++)
    {
        if (numArr[i] < smallestNumber)
            smallestNumber = numArr[i];
    }

 

풀이

먼저, 배열의 각 요소를 비교하기 위해 배열의 첫 번째 요소를 변수 smallestNumber에 저장한 뒤, 배열의 요소 개수 sizeof(numArr) / sizeof(int)만큼 반복하며 비교하면 된다. 물론 여기서는 배열의 개수를 특정해줬으니 5라고 해도 된다. 그리고, 글쓴이는 if문 실행식을 numArr[i] = smallestNumber; 이런 식으로 만들어 답이 안 나오는 에러가 계속 나온 적이 있었는데, 이렇게 쓰면 안 되는 이유는 = 할당의 결합 법칙은 ←으로 진행되기 때문에 smallestNumer을 왼쪽에 두어야 한다.

 

 

'C' 카테고리의 다른 글

[C] C언어 코딩 도장 38.7 심사문제: 단위행렬 만들기  (0) 2022.04.27
[C] C언어 코딩 도장 37.9 심사문제: 전치행렬 구하기  (0) 2022.04.27
[C] C언어 코딩 도장 35.7 심사문제: 두 정수의 합 구하기  (0) 2022.04.27
[C] C언어 코딩 도장 34.10 심사문제: 포인터와 주소 연산자 사용하기  (0) 2022.04.27
[C] C언어 코딩 도장 33.8 심사문제: 5와 11의 배수, 공배수 처리하기  (0) 2022.04.27
    'C' 카테고리의 다른 글
    • [C] C언어 코딩 도장 38.7 심사문제: 단위행렬 만들기
    • [C] C언어 코딩 도장 37.9 심사문제: 전치행렬 구하기
    • [C] C언어 코딩 도장 35.7 심사문제: 두 정수의 합 구하기
    • [C] C언어 코딩 도장 34.10 심사문제: 포인터와 주소 연산자 사용하기
    Lee Jaeyoon2
    Lee Jaeyoon2

    티스토리툴바