[도전해결] C 언어 각 자릿수의 합계 구하기
추천 자료: ASP.NET Core 인증 및 권한 부여
두 자릿수 정수인 10에서 99 사이의 정수가 입력됩니다. 입력된 정수의 각 자릿수의 숫자 합계를 출력하는 프로그램을 만드세요. 예를 들어 75는 7 + 5이므로 12를 출력해야 합니다.
처리조건
- 화면으로부터 정수 하나만 입력받는다.
- 입력 숫자의 범위는 10부터 99 사이의 정수다.
실행결과
37
10
힌트
(x % 10)과 (x / 10) 형태를 사용하세요.
코드
#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의 자리에 해당하는 정수를 얻을 수 있습니다. 이 방법을 사용하여 두 자릿수 정수의 각 자릿수의 합계를 구할 수 있습니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!