본문 바로가기
프로그래밍 언어 문제/코딩테스트(코드업)_C언어, C++

코드업 1025번 문제 풀이

by 썬's 2023. 10. 11.

안녕하세요 보글리아입니다.

이번 시간에는 코드업 1025번 문제 풀이를 하겠습니다.

※본 풀이는 C언어와 C++ 언어를 같이 사용해서 설명하겠습니다※

 


문제

다섯 자리의 정수 1개를 입력받아 각 자리별로 나누어 출력하세요.

scanf("%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e);
를 사용하면 1개의 숫자로 각각 구분되어 저장된다.

printf("[%d]", a*10000);와 같은 방법도 가능합니다.

  • 입력 : 다섯 자리로 이루어진 1개의 정수를 입력한다
  • 출력 : 각 자리의 숫자를 분리해 한 줄에 하나씩 [ ] 속에 넣어 출력한다.

 


문제 해설

  1. 먼저 다섯 자리로 이루어진 1개의 정수를 입력하기 위해 하나의 변수를 선언할 수 있지만, 출력 조건이 각 자리의 숫자를 분리해서 한 줄에 하나씩 출력하라고 하니 동일한 정수형 자료형으로 변수를 다섯 개 선언해 줍니다.
  2. 그리고 scanf_s를 사용해 각 자리를 출력해 줍니다. 출력을 할 때 서식문자를 첫 글자를 따오는 %ld를 사용합니다.
  3. 그리고 괄호를 작성해서 각 앞자리를 따오면서 뒤에 자리까지 가져와야 하니 각 자리에 맞는 정수값을 곱해서 출력해 주면 됩니다.
#include <iostream>
using namespace std;

int main()
{
	int a, b, c, d, e;
	scanf_s("%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e);
	cout << "[" << a * 10000 << "]" << endl;
	cout << "[" << b * 1000 << "]" << endl;
	cout << "[" << c * 100 << "]" << endl;
	cout << "[" << d * 10 << "]" << endl;
	cout << "[" << e << "]" << endl;

	return 0;
}

출력 결과

댓글