티스토리 뷰
728x90
여러개의 숫자를 줄바꿈과 공백 없이 입력받아야한다.
- cin >> 는 공백문자를 기준으로 값을 받아오고, 개행을 해야지 다음 줄로 넘어갈 수 있기 때문에 사용이 어렵다.
- string을 사용한다면 각 문자끼리 띄어내는 것이 어렵다.
- 따라서 char[]을 사용했다.
c++에서 char[] 입력을 받으려면 cin.getline(char* str, int n ) 함수를 사용한다. 문자배열에 n-1개의 문자를 받아온다.
cin.ignore()이 필요한 이유는 cin>>은 마지막 개행 문자를 버퍼에 남겨둔다. ignore이 없으면 다음 입력을 받을 때 버퍼에 남아있는 개행 문자가 그대로 들어가 나에게 입력을 받지 않고 무시해버릴 수 있다. 따라서 Ignore을 사용해서 한번 버퍼를 비우고 다음 입력을 받아야한다.
#include <iostream>
using namespace std;
int main(){
int cnt;
int cs;
int total = 0;
cin >> cnt;
char num[cnt];
cin.ignore();
cin.getline(num, cnt+1);
for(int i=0;i<cnt;i++){
total += num[i] -'0';
}
cout<<total;
}
728x90
'C++ > Baekjoon' 카테고리의 다른 글
백준1157 (0) | 2022.02.04 |
---|---|
백준2675 (0) | 2022.02.03 |
백준10809 (0) | 2022.02.03 |
백준15596, 4673 (0) | 2021.09.29 |
백준 2557, 10869, 10818 (0) | 2021.09.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- flutterdoctor
- select
- 트리
- apt
- 버추얼박스
- Flutter
- multiple Column
- 우분투
- ubuntu
- Winform
- mac Unity vscode 자동완성
- mac unity vscode autocomplete
- DevExpress
- 해마코딩
- Unity
- Query
- apt-get
- androidstudio
- Mac
- VS Code
- GIT
- ()
- VirtualBox
- Tree
- =
- DataSource
- 컨셉때문에킹받으셨나요..죄송합니다..제가 봐도 킹받네요
- QO
- gridContorl
- Unity vs code
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
Blog is powered by
Tistory / Designed by
Tistory