본문 바로가기

Algorithm/String

(C++) - 백준(BOJ) 4470번 : 줄번호

반응형

www.acmicpc.net/problem/4470

 

4470번: 줄번호

텍스트에서 줄을 입력받은 뒤, 줄 번호를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

공백을 포함하여 입력받는 문자열 처리 문제였습니다.

 

 

풀이방법

 1. 줄 수를 입력받은 후 cin버퍼의 개행문자를 지우기 위해 ignore()해줍니다. C언어의 fflush(stdin)와 같은 기능을 하는 함수입니다.

 2. 공백을 포함하여 입력받습니다. getline()을 이용하면 됩니다.

 3. getline()으로 입력받은 후에는 cin의 오류비트를 clear()해줍니다.

 4. 그 후 출력합니다.

 

Code

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    cin.ignore();
    for(int i = 1; i <= n; i++){
        string s;
        getline(cin,s);
        cin.clear();
        printf("%d. ",i);
        cout << s <<'\n';
    }
}