ABOUT ME

-

Today
-
Yesterday
-
Total
-
s0ye0ve
  • [C/C++] 숫자 한 번에 입력받아서 배열에 하나씩 할당하기
    Programming/C언어 2020-12-29
    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 (세 자릿수)로 주어졌고 여기서 두 번째 피연산자 각 자리와 첫 번째 연산자의 곱을 각각 구하는 것이었기 때문에 두 번째 피연산자를 하나씩 잘라서 배열에 할당한 뒤 풀이했다.

     

    참고

    velog.io/@hk8778/

     

     

    728x90

    댓글

Copyright 2020. s0ye0ve all rights reserved.

Designed by Tistory.