문제
리뷰
cin 은 공백을 만나는 순간까지만 입력을 받는다. 그래서 cin으로 풀 수는 없었고,
공백을 포함한 문자열이 100글자 이내인 조건을 읽고 char 배열을 만들어서 scanf로 풀었다.
다른 분들은 표준입력 stdin으로 fgets() 로 102글자 까지 입력받아서 풀었다.
/* fgets()
파일 입력 스트림에서 문자열을 가져와서 str이라는 주소에 넘겨준다.
scanf()와는 달리, 개행문자를 만날 때 까지 문자열을 읽어들인다.
마지막으로 읽은 문자 뒤에 자동적으로 NULL을 붙여서 반환한다.
numChars : 입력받을 문자의 최대 개수
*/
char* fgets(char *str, int numChars, FILE *stream)
/*
성공적으로 읽어들이면, 함수는 str을 리턴한다.
오류가 나도, EOF(파일의 끝)을 만나도 NULL이 리턴된다.
참고로 scanf 함수는 개행 문자 뿐만이 아니라 ' ' 와 '\t' 에 의해서도 입력이 끝난다.
도움을 받은 BOJ 질문게시판의 필독 FAQ글
fgets 함수
scanf 함수
코드 1 : scanf 이용
#include <iostream>
using namespace std;
char A[102];
int main(void){
while(scanf("%c", &A) != EOF){
cout << A;
}
return 0;
}
**코드 2 : fgets이용
#include <iostream>
using namespace std;
char A[102];
int main(void){
while(fgets(A, 102, stdin)){
cout << A;
}
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
2007년 백준 1924번 (0) | 2020.08.25 |
---|---|
열 개씩 끊어 출력하기 백준 11721번 (0) | 2020.08.25 |
정수 삼각형 백준 1932 (0) | 2020.08.22 |
연속합2 백준 13398 (0) | 2020.08.22 |
연속합 백준 1912번 (0) | 2020.08.19 |