[도전해결] C 언어 각 자릿수의 합계 구하기

  • 2 minutes to read

두 자릿수 정수인 10에서 99 사이의 정수가 입력됩니다. 입력된 정수의 각 자릿수의 숫자 합계를 출력하는 프로그램을 만드세요. 예를 들어 75는 7 + 5이므로 12를 출력해야 합니다.

처리조건

  • 화면으로부터 정수 하나만 입력받는다.
  • 입력 숫자의 범위는 10부터 99 사이의 정수다.

실행결과

37
10

힌트

(x % 10)과 (x / 10) 형태를 사용하세요.





데브렉(http://www.devlec.com)





코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    int digit = 0; // 입력 받을 10~99 사이의 정수
    int tens = 0; // 10의 자리 정수
    int unit = 0; // 1의 자리 정수
    int sum = 0;  // (10의 자리 정수) + (1의 자리 정수)

    int _ = scanf("%d", &digit);

    tens = digit / 10; // 10으로 나누어 1의 자리 버림
    unit = digit % 10; // 10으로 나눈 몫으로 1의 자리만 얻기

    sum = tens + unit; // (10의 자리 정수) + (1의 자리 정수)

    printf("%d\n", sum); // 각 자릿수 합계 출력

    return 0;
}

실행

75
12

설명

두 자릿수 정수를 x로 두었을 때 (x / 10)을 사용하여 나누면 10의 자리에 해당하는 정수만을 얻을 수 있고 (x % 10)을 사용하여 몫을 구하면 1의 자리에 해당하는 정수를 얻을 수 있습니다. 이 방법을 사용하여 두 자릿수 정수의 각 자릿수의 합계를 구할 수 있습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com