-
728x90
문자열처럼 한 번에 입력받은 숫자들을 각 자리별로 나눠 배열에 넣기
입력
123
코드
#include <stdio.h> int main() { int buf[3] = {0, }; // 숫자 입력받을 배열 크기 : 3 for(int i = 0; i < 3; i++) { // %1d 를 사용해 하나씩 읽음 scanf("%1d", &buf[i]); } printf("num : %d, %d, %d", buf[0], buf[1], buf[2]); // num : 1, 2, 3 return 0; }
활용한 문제
- 백준 - 2588번 곱셈
#include <stdio.h> int main() { int first; int second[3] = {0, }; scanf("%d", &first); for(int i = 0; i < 3; i++) { //여기서 사용 scanf("%1d", &second[i]); } printf("%d\n", first * second[2]); printf("%d\n", first * second[1]); printf("%d\n", first * second[0]); int second_2 = 100 * second[0] + 10 * second[1] + second[2]; printf("%d", first * second_2); return 0; }
문제가 (세 자릿수) x (세 자릿수)로 주어졌고 여기서 두 번째 피연산자 각 자리와 첫 번째 연산자의 곱을 각각 구하는 것이었기 때문에 두 번째 피연산자를 하나씩 잘라서 배열에 할당한 뒤 풀이했다.
참고
728x90'Programming > C언어' 카테고리의 다른 글
[C/C++] 전체 배열의 길이, 문자가 들어 있는 배열의 길이 구하기 (1) 2022.11.29