본문 바로가기
알고리즘/백준 문제 풀이

[BOJ/백준] 11718번 그대로 출력하기 - [c/c++] 풀이

by 미니상미니 2023. 5. 13.
반응형

https://www.acmicpc.net/problem/11718

 

11718번: 그대로 출력하기

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시

www.acmicpc.net

 

 

 

 


  • 문제


해설

c - 공백을 포함하여 받기 위해 char 단위로 받아 공백, 줄바꿈(char로 입력 받을 수 있다)을 하나하나 입력 받는다.

      scanf함수는 반환값이 존재하는데, 입력된 필드 수를 반환한다. 입력의 종료 지점을 만났을 때 파일의 끝을 의미하는 EOF를 반환한다.
      이를 활용하여 반복문의 종료 지점을 정의할 수 있다.

 

c++ - getline(cin, 문자열 변수) 함수를 이용하여 공백을 포함한 한 줄을 입력 받아, 파라미터로 입력된 변수에 저장한다.
           입력된 값이 없을 경우 ""로 저장므로 이를 활용하여 반복문 종료 지점을 정의할 수 있다.

 

코드

c

#include <stdio.h>

int main() {

	char c;

	while(scanf("%c", &c) != EOF) {
		printf("%c", c);
	}

	return 0;
}

 

c++

#include <iostream>

using namespace std;

int main() {

	string s;

	while(true) {
		getline(cin, s);
		if(s == "") break;

		cout << s << '\n';
	}

	return 0;
}

 

 

 

 

 

반응형

댓글