문제

열 개씩 끊어 출력하기 백준 11721번


리뷰

인덱스가 10번째가 됬을 때 마다 개행문자를 출력하려고 했었는데, 잘 안됬다.

다른 분들 코드를 보면서 scanf 함수에서 특정 길이까지 읽어들일 수 있는 서식문자가 있다는 것을 알게됬다!


scanf 의 서식문자

scanf의 서식문자로는 c 문자, s 문자열, p 포인터, d 10진 정수 등 이 있다.

%와 서식문자는 반드시 명시해야 한다.

그리고 폭을 지정하거나 포인터의 형을 지정할 수 있는 등의 옵션이 있다.

#include <stdio.h>

int scanf(const char *format [,address ...]);
  • 폭 지정

    %와 서식 문자 사이에 정수값을 삽입하면, 입력값 중 읽어들일 최대 길이를 지정할 수 있다.

    scanf("%10s", &A);
  • 검색 문자 지정 (search_set)

    배열 주소에서, 특정 조건에 따라 읽어들이는 방법을 제공한다.

    [ ] 안에 쓴 문자들만 읽어들여 입력받는다. 즉, h, i, j, k 문자들만 입력받는다.

    이외의 문자들이 입력되면 입력을 중단한다.

    문자 맨 앞에 ^ 기호를 붙이면, x, y, z를 제외한 문자들만 입력받는다.

    char A[102];
    
    scanf("%[hijk]", A);
    
    scanf("%[^xyz]");

코드

#include <iostream>
using namespace std;

char A[102];

int main(void){

    while(scanf("%10s", &A) != EOF){
        printf("%s\n", A);
    }

    return 0;
}
728x90

'알고리즘 > 백준' 카테고리의 다른 글

스택 수열 백준 1874번  (0) 2020.08.26
2007년 백준 1924번  (0) 2020.08.25
그대로 출력하기 백준 11718번 c++  (0) 2020.08.24
정수 삼각형 백준 1932  (0) 2020.08.22
연속합2 백준 13398  (0) 2020.08.22

+ Recent posts